<!DOCTYPE html>
<html>
	<title>Chatty Release Information</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <meta charset="UTF-8">
        <style type="text/css">
            pre {
                border-left: 1px solid #AAAAAA;
                padding: 10px;
                margin-top: 5px;
                color: #222222;
            }
        </style>
<body>
    <div id="backlink"><a href="help.html">To main help page</a></div>
    <h1><a name="top">Release Information</a></h1>
    
    <p>
        <a href="#0.28">0.28</a> |
        <a href="#0.27">0.27</a> |
        <a href="#0.26">0.26</a> |
        <a href="#0.25">0.25</a> |
        <a href="#0.24.1">0.24.1</a> |
        <a href="#0.24">0.24</a> |
        <a href="#0.23">0.23</a> |
        <a href="#0.22">0.22</a> |
        <a href="#0.21">0.21</a> |
        <a href="#0.20">0.20</a> |
        <a href="#0.19">0.19</a> |
        <a href="#0.18">0.18</a> |
        <a href="#0.17">0.17</a> |
        <a href="#0.16">0.16</a> |
        <a href="#0.15">0.15</a> |
        <a href="#0.14">0.14</a> |
        <a href="#0.13.1">0.13.1</a> |
        <a href="#0.13">0.13</a> |
        <a href="#0.12">0.12</a> |
        <a href="#0.11">0.11</a> |
        <a href="#0.10">0.10</a> |
        <a href="#0.9.7">0.9.7</a> |
        <a href="#0.9.6">0.9.6</a> |
        <a href="#0.9.5">0.9.5</a> |
        <a href="#0.9.4">0.9.4</a> |
        <a href="#0.9.3">0.9.3</a> |
        <a href="#0.9.2">0.9.2</a> |
        <a href="#0.9.1">0.9.1</a> |
        <a href="#0.9">0.9</a> |
        <a href="#0.8.7">0.8.7</a> |
        <a href="#0.8.6">0.8.6</a> |
        <a href="#0.8.5.1">0.8.5.1</a> |
        <a href="#0.8.5">0.8.5</a> |
        <a href="#0.8.4.1">0.8.4.1</a> |
        <a href="#0.8.4">0.8.4</a> |
        <a href="#0.8.3">0.8.3</a> |
        <a href="#0.8.2">0.8.2</a> |
        <a href="#0.8.1">0.8.1</a> |
        <a href="#0.8">0.8</a> |
        <a href="#0.7.3">0.7.3</a> |
        <a href="#0.7.2">0.7.2</a> |
        <a href="#0.7.1">0.7.1</a> |
        <a href="#0.7">0.7</a> |
        <a href="#0.6.7">0.6.7</a> |
        <a href="#0.6.6">0.6.6</a> |
        <a href="#0.6.5">0.6.5</a> |
        <a href="#0.6.4">0.6.4</a> |
        <a href="#0.6.3">0.6.3</a> |
        <a href="#0.6.2">0.6.2</a> |
        <a href="#0.6.1">0.6.1</a> |
        <a href="#0.6">0.6</a> |
        <a href="#0.5.1">0.5.1</a> |
        <a href="#0.5">0.5</a> |
        <a href="#0.4">0.4</a> |
        <a href="#0.3">0.3</a>
    </p>
    
    <p>This page shows important information about new versions as well as the
    full list of changes.</p>
    
    <h2>
        <a name="0.28">Version 0.28</a> <a name="latest">(This one!)</a> (2025-??-??)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>BETA, tbd.</p>
    
    <h2>
        <a name="0.27">Version 0.27</a> (2025-04-13)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    
    <p>Twitch is turning off the PubSub API, so all features that relied on it had to be replaced with EventSub (e.g. Mod Actions, AutoMod and more). <strong>You will need to reconnect your Twitch Account under "Main - Account" due to the new API requiring new access scopes.</strong> Channel Points Redemptions are only available for the broadcaster in the new API and haven't been implemented in Chatty yet.</p>
    <h3>Other changes</h3>
    <ul>
        <li>Added manual refresh button to Followers/Subscribers List</li>
        <li>Added <code>/warn</code> command</li>
        <li>Added gigantified emote support</li>
        <li>Added some initial support for shared chat
            <ul>
                <li>Display source channel logo and badges in chat</li>
                <li>Display source channel name for User Dialog messages</li>
                <li>Added config:shared matching prefix</li>
            </ul>
        </li>
        <li>Added Highlight matching prefixes <code>config:highlighted</code>, <code>config:followup</code>, <code>config:shared</code></li>
        <li>Custom Tabs
            <ul>
                <li>Added channel logo setting</li>
                <li>Don't apply log mode to Custom Tabs</li>
            </ul>
        </li>
        <li>Use channel context for <code>/insert</code> command, added more advanced <code>/insert2</code> command</li>
        <li>Added hotkey actions related to minimizing to tray</li>
        <li>Various bugfixes</li>
        <li>Updated help</li>
    </ul>
    
    <h2>
        <a name="0.26">Version 0.26</a> (2024-03-21)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Custom Tabs</h3>
    <p>Custom Tabs allow you to route message from regular channels to a Custom Tab based on Highlight matching rules.</p>
    <p>The new <code>to:</code> prefix (for Highlights, Ignore, Msg. Colours and the new Routing setting) specifies the name of the Custom Tab you want to route the matching messages to. For example adding <code>to:Mentions regw:yourname</code> to the Custom Tabs Routing list will copy all messages containing the word "yourname" to a tab called "Mentions".</p>
    <p>There are also options to copy the text of Desktop Notifications to a Custom Tab, logging Custom Tab messages to a file and more.</p>
    <h3>Message History</h3>
    <p>Added a message history on channel join, which can be enabled in the Settings under "History". It can show regular chat messages from the last 24h for many channels based on the recent-messages.robotty.de API.</p>
    <h3>Channel Moderation Panel</h3>
    <p>Added an "M" button to the input field that opens a panel for changing channel modes (available only for moderators).</p>
    <h3>Twitch Features</h3>
    <ul>
        <li>Added command <code>/createClip</code> for creating a clip on the current channel</li>
        <li>Added support for Content Classification Labels to Admin Dialog</li>
    </ul>
    <h3>Other</h3>
    <ul>
        <li>Added support for animated overlayed emotes and 7TV zero-width-emotes</li>
        <li>Added prefix <code>config:afterban</code> to match on messages after the user was banned/timed out (if Chatty is aware of it)</li>
        <li>Added prefix <code>msgs:</code> to match on the user's past messages (as they are shown in the User Dialog)</li>
        <li>Added command <code>/userinfoRecent</code> to open User Info Dialog for user recently affected by a Twitch Command or with recently open User Dialog</li>
        <li>Updated Pronouns service to new API</li>
        <li>Added Look&amp;Feel MacOS options (screen menubar, system colors for title bar)</li>
        <li>Added setting under "Window" to toggle input length limits</li>
        <li>Various GUI improvements</li>
        <li>Updated help</li>
    </ul>
    <h3>Bugfixes</h3>
    <ul>
        <li>Fixed error in context menu for some types of messages</li>
        <li>Fixed AutoMod Dialog hotkeys reacting when they shouldn't when docked as a tab</li>
        <li>Fixed favorited emotes not being detected as usable in some cases</li>
        <li>Fixed PageUp/PageDown sometimes scrolling in wrong channel (by adding as configurable hotkey acting on the active channel)</li>
        <li>Fixed "Join"-entry being shown in URL context menu when it shouldn't</li>
        <li>Fixed "User to never highlight" setting not applying to info messages with an attached user</li>
        <li>Fixed default tab highlight/unread colors not updating when changing from dark to light LaF</li>
        <li>Fixed tab joined state not always showing correctly after reconnecting</li>
        <li>Fixed links that are displayed over several lines being clickable in empty spaces in between</li>
    </ul>
    
    <h2>
        <a name="0.25">Version 0.25</a> (2023-07-21)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Twitch Features
- Added amount/currency next to Hype Chat messages, added `config:hypechat`
  Highlighting prefix
- Switched to new follower API (only allows moderators to see the list of
  followers, count is visible for everyone though)
- Added multi-month subs info to subscriber notifications
- Improved badge tooltips based on updated API information

### Custom Commands
- Context Menu/User Dialog custom entries/buttons:
  - Added ability to show entries only when they match certain restrictions
    (for example based on channel or user status, see the Custom Commands help)
  - Entries with empty labels now get removed, so using a required replacement
    in a label can also serve to hide it based on certain conditions
  - Added more context-specific parameters for use in labels and restrictions
  - Added ability to use replacements in User Dialog button labels, like you can
    in context menus as well
- Added settings to trigger commands when middle-clicking on user in chat
  (equivalent to Ctrl+clicking, in the Settings under "Chat")

### Other
- Select associated message in a few more cases when opening User Dialog
- Improved support for different `.wav` file formats
- Updated Gradle to 8.2.1 (and related build changes)
- Updated Java for the Windows Standalone
- Updated help

### Bugfixes
- Fixed channel status warning appearing in Admin Dialog when it shouldn't
    </pre>
    
    <h2>
        <a name="0.24.1">Version 0.24.1</a> (2023-05-10)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
- Fixed error that can occur when users are added to the Ignored Users list
    </pre>
    
    <h2>
        <a name="0.24">Version 0.24</a> (2023-05-09)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Twitch Features
- Added some support for suspicious users (for moderators)
  - Info about monitored/restricted messages it appended to the message
  - Restricted messages (that aren't posted to regular chat) are shown in chat
  - Changing monitored/restricted status of a user shown in Modlogs
  - Some information shown in the User Dialog of involved users
  - You can match on restricted messages via `config:restricted`, monitored
    users can not be matched on since that information isn't necessarily
    available at the time matching happens
  - There is no API to get/change the monitored/restricted state of users, only
    the info associated with chat messages

### Emoticons
- Improved support for Follower Emotes (subscribers can use them globally)
- Added support for FFZ animated emotes
- Added setting to toggle using WebP (and WebP is now als used for BTTV and
  animated FFZ emotes for better quality, if possible)
- Fallback to PNG/GIF for 7TV if WebP is not enabled or supported

### Other
- Added command `/msgreplythread` to continue a reply thread
- Added check whether updating stream status in Admin Dialog actually succeeded
  (the API does not always return an error when it should)
- Made search dialog resizable
- Increased chat input field length limit for non-messages (e.g. when using
  setting commands with a long value)
- Improved `$j()` replacement (for `$json()`) to allow more functions to be
  applied to objects, added `[sort]` and sub parameters for more flexibility
- Added Stream Highlights cooldown setting
- Added matching prefixes `config:hide` (to not add to the Highlighted/Ignored
  Messages panel) and `config:!log` (to not add to the separate log files)
- Some small UI improvements
- Updated help

### Bugfixes
- Fixed bug in Highlight Tester where presets/substitutes were sometimes not set
- Fixed 7TV emotes with special characters not being shown
- Fixed favorite emotes not being sorted first unless `:` is used
    </pre>
    
    <h2>
        <a name="0.23">Version 0.23</a> (2023-02-17)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Twitch Features
- Added support for new stream tags API
  - Up to 10 tags, max 25 characters, no spaces or special characters
  - Existing favorited/Status History tags automatically get their spaces
    removed, however you will need to replace any special characters yourself as
    you see fit
- Added `/shoutout` command and display of shoutouts for moderators

### Custom Commands 
- Changed "Test" dialog output to be less wide with long commands
- Added some syntax highlighting to some settings
- Added function `$quote()` for easier quoting (e.g. to write CSV)

### Other
- Added settings to customize cache, image and exported directories, added
  launch option to customize debug directory
- Added a setting (disabled by default) for the Look&Feel error sound (e.g. when
  backspacing at the start of an input field)
- Removed session debug log file
- Added Stream Highlights customization settings for file output
- Improved Pronouns caching
- "Open URL" Popup: Added checkbox to disable the popup, apply setting to some
  more places
- Updated help

### Bugfixes
- Fixed Join-link (e.g. for raids) context menu entries
- Fixed Stream Highlights error when customized chat response message wasn't a
  valid Custom Command
    </pre>
    
    <h2>
        <a name="0.22">Version 0.22</a> (2023-01-15)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Twitch Features
- Added chat message for outgoing raids with join link (due to API limits only
  in at most 10 live channels)
- Show poll start/end messages (broadcaster only)
- Added shield mode commands and display (for moderators)

### Custom Commands
- Added "Anonymous Custom Command" hotkey action, where a Custom Command can be
  entered directly (instead of a the name of a Custom Command)
- Added function `$trim()` to remove leading and trailing whitespace
- Added `trim` option to `$request()`
- Added function `$json()` to parse JSON and access specific values
- Changed `$input()` inputbox to have the same features as the channel inputbox
  if run in a channel context
- Added `/exportText` options `-A` and `-L`

### Other
- Added FlatLaf (new modern Look&Feel, selectable in the "Look" settings)
- Added feature to make a popout with one channel transparent
- Made AutoMod dialog dockable
- Improved Settings Dialog
- Removed SRL menu
- Removed some hosting related stuff, added raid context menu entries
- Added setting whether to hide tab pane when only a single channel is open
  (hidden by default, as was the previous behaviour)
- Added local caching to Pronouns for more reliability and faster display
- Added new Chatty icons to img folder
- Added context menu setting to Live Streams list to only show favorites
- Updated help

### Bugfixes
- Fixed `/color` command not being able to set some default colors
- Fixed error occuring for some commands when no parameter is provided
- Fixed commands `/unvip` and `/unmod`
- Fixed channels sometimes not opening in the correct popout
    </pre>
    
    <h2>
        <a name="0.21">Version 0.21</a> (2022-10-17)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Twitch has announced that Twitch chat comands will be removed from IRC in
        February 2023, so they need to be migrated to the API. You will need to
        update your login with additional access scopes to be able to use most
        commands in this update.</p>
    
    <pre>
### Twitch Features
- Switched most Twitch Chat commands to the Twitch API
  - The commands `/vips`, `/mods` and `/commercial` will continue to function
    through IRC for non-broadcasters until Twitch removes them
  - Sending whispers will function through IRC until Twitch removes it, since
    the API has additional restrictions for whispering
  - For commands that work through the Twitch API the command result will now be
    appended to the original message, for example `Trying to ban &lt;name&gt;.. OK`
- Updated Account dialog to accomodate large number of access scopes better

### Emotes
- Emote Dialog improvements
  - Added search field to filter displayed emotes
  - Made more sections hideable (click on the section header)
  - Improved Emote sorting and sections
- Favorite Emotes improvements
  - Sort first in TAB Completion (can be disabled)
  - Channel-specific emotes can now also be favorited
  - Note: Right-click emote for options to favorite/unfavorite
- Ignored emotes are now also hidden from the Emote Dialog and TAB Completion,
  while optionally being able to only hide from specific places
- Prefer per-channel emotes over global emotes (e.g. when a third-party emote
  provider has an emote with the same name as a global Twitch emote)

### Other
- Added URL Context Menu entry to open User Dialog for some Twitch URLs
- Added WebP MacOS support, so 7TV emotes should work on Mac now as well
- Switched to 7TV v3 API for emotes
- Added `!if:` prefix (negated `if:`), which allows you to negate restrictions
  that would otherwise not be possible
- Automatically reconnect IRC when a new valid token is set
- Improved connecting to chat responsiveness and info messages
- Removed deprecated Sounds setting page
- Updated translations
- Updated help

### Bugfixes
- Fixed error related to emote pausing
- Fixed popout URL parsing
- Fixed offline streams sometimes appearing as live when joining channel
- Updated JNA to fix some issues
- Fixed FFZ custom mod badge that was broken in some channels
    </pre>
    
    <h2>
        <a name="0.20">Version 0.20</a> (2022-08-11)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### New Features
- Added experimental 7TV emotes support (currently only Windows and Linux x64),
  zero-width emotes not supported right now (show up like normal emotes)
- Added `/announce` command color variants (e.g. `/announceblue`) since Twitch
  added an API for it
- Added some additional info to TAB Completion for emotes and commands

### Settings
- Added dialog on first start (when no settings are found) to set some basic
  defaults (look, userlist, font, notifications), the same options can also be
  found in the Settings Dialog under "Simple Presets"
- Changed some defaults (only has an effect when starting from fresh settings):
  - Show AutoMod messages
  - Use native window for all Look&Feel (to allow for native window management)
  - Rejoin channels on start
  - Changed timestamp and chat font
- Added setting for minimizing Chatty on start
- Added setting for also minimizing popouts to tray when manually minimizing
  main window to tray
- Added setting for desktop notifications staying open on mouse hover
- Improved Settings Dialog initial open speed

### Other
- A Custom Command calling another Custom Command is now possible
- Slightly improved memory usage
- Updated help

### Bugfixes
- Fixed many duplicate "popoutAttributes" being saved
    </pre>
    
    <h2>
        <a name="0.19">Version 0.19</a> (2022-07-03)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Commands
- Added `/timer` for delaying commands
- Added `/exportText` to write text to a file in the "exported" folder
- Added `/clearUserMessages` to clear User Dialog messages (or just the count
  for `config:firstmsg`) for all users
- Added `/triggerNotification` to trigger a special "Triggered by command"
  notification (has to be added as an event in the Notification Settings)
- Added Custom Command function `$round()`, added `%` operator to `$calc()`
- Added `/j` as default Custom Command

### Settings
- Added `msg` variant to all text matching prefixes
- Added setting to return to previously active tab when closing tab
- Added settings for pausing animated emotes
- Added Live Streams favorite games to Settings Dialog
- Added setting to change locale
- Added commands `/setSwitch` and `/setList`

### Other
- Restore active tabs when loading layout
- Improved showing Highlight matches for some message types
- Changed formatting of user name for announcements
- Updated Twemoji image set to v14
- Some memory usage improvements
- Improved debug output
- Updated help

### Bugfixes
- Fixed bug where animated emotes with transparency aren't displayed correctly
  when the first frame doesn't have transparency
- Fixed Tab Completion popup being stuck when closing tab via hotkey
- Fixed some locale dependent issues
    </pre>
    
    <h2>
        <a name="0.18">Version 0.18</a> (2022-04-09)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### Twitch Features
- Added new Announcement messages and `/announce` command (Twitch hasn't added
  commands for the color variants yet)
- Added badge for first message in channel (shown for mods only)
- Added workaround for Twitch filtering out Emoji joiner characters

### Highlight / Ignore Matching
- Added separate `_global_highlightBlacklist` and `_global_ignoreBlacklist`
  Matching Preset names
- Added Highlight Matching substitutes / lookalikes
- Added setting and prefix to allow messages to be highlighted even if they
  would otherwise have been ignored (Override Ignore if Highlighted)
- Added `if:` Matching prefix to specify conditions with an "or" relationship

### Custom Commands
- Added additional Custom Command identifiers related to user/channel
- Added identifier for User Dialog/Context Menu selected message time
- Added optional unix time input to `$datetime()` Custom Command function
- Added `/runin` command to run a command in a specific channel

### Other Settings
- Added badge scaling settings
- Emote scaling setting now applies to GIFs as well
- Added option to add Stream Uptime to timestamps
- Added search field to Settings Dialog
- Added sound test button to Sound Settings tab
- Added setting to show Connect Dialog (when it usually wouldn't) if login or
  channel is missing
- Added hotkey action to switch to a specific tab index/channel
- Added warning to hotkey table when the same key is used more than once

### Other
- Added a new badge context menu entry to hide badges (you could already add a
  Custom Badge with no image for that, but this is a bit more straightforward)
- Added "View" menu entry to toggle the userlist, changed default hotkey
- Updated help

### Bugfixes
- Fixed scaling on Emote Details page
- Fixed Favorite Emotes not working properly for Local Emotes
- Make GIF animations (of the same image) more likely to stay synchronized
- Fixed some emotes showing "[modified]" when they weren't actually emotes
  modified by channel points
- Added workaround for played sounds sometimes not being cleaned up correctly
- Fixed focus being stolen from the input box when a second channel is opened
- Fixed error sometimes occuring when closing window and moving mouse over chat
- Fixed rare edge case where a PubSub message could reopen a closed channel tab
- Fixed small issues when adding a hidden badge
- Fixed error that could occur when saving the "login" file failed
    </pre>
    
    <h2>
        <a name="0.17">Version 0.17</a> (2022-01-31)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>The Twitch v5 API is scheduled to be shutdown at the end of February 2022
        and that old API still contains some emotes that aren't available in the
        new API. This means that it's possible that more of your emotes won't
        show up in the Emote Dialog, TAB Completion and your sent messages in
        Chatty (Global, Subscriber and Follower Emotes should always be fine
        though).</p>
    <p>This update introduces the Local Emotes feature that allows you to
        manually configure specific Twitch Emotes to be always available for you
        locally in Chatty (how your messages appear to others won't be affected
        by this). Read more about this in the <a href="help-settings.html#EmoticonsLocal">help</a>.</p>
    
    <pre>
### Twitch Features
- Switched Global Emotes to new API
  - Some new Global Emotes that weren't in the old API should be available now
  - Added separate Smilies (as in :) etc.) setting to select which set should be
    displayed locally (since this isn't handled well in the new API), the
    setting is automatically set based on the old API as long as it's available
- Added Local Emotes setting
  - Allows you to manually configure Emotes that should always be displayed
    in your local client as usable by you, for Emotes that are not available
    through the API
  - As long as the old API is available, some Emotes available through that but
    not through the new API can be marked as "endangered" in the Emotes Dialog
- Added follower count to User Dialog again (previously removed due to being
  slightly more difficult to implement with the new API)

### Other
- Tab Info Settings: Added custom color setting affecting color related options
- Added setting to close tabs with middle mouse button
- Added prefix `config:!blacklist` to circumvent the Highlight/Ignore blacklist
- Some small Emote Dialog improvements
- Updated Emoji (Twemoji set)
- Updated help

### Bugfixes
- Added workaround for online/offline spam in followed channels doing a rerun
    </pre>
    
    <h2>
        <a name="0.16">Version 0.16</a> (2022-01-06)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>With the v5 Twitch API shutting down early 2022 more features have been
        migrated to the new API, which does not quite provide all the features
        or information that you may be used to (or limited to the broadcaster).
        However, a new feature (in beta) is the Blocked Terms API that allows
        moderators to view and edit a channel's Blocked Terms through the Admin
        Dialog.</p>
    
    <p>Some new APIs require new access scopes, so you probably have to renew
        your Chatty login (check <span class="m">&lt;Main - Account&gt;</span>).</p>
    
    <pre>
### Twitch Features
- Changed various features to new API, some notes:
  - Admin Dialog: New API only allows the broadcaster to set the title/game (old
    API is being used for editors until it is turned off)
  - Commercials: New API only allows the broadcaster to run commercials (editors
    will trigger the chat command instead)
  - Subscribers List: Subscription time not available anymore, but subscription
    tiers and total subpoints are now available in the new API
  - User Dialog: Some information removed that isn't in the new API, added some
    subscriber information from the user's subscriber badge (if available)
- Added page to Admin Dialog for viewing and editing Blocked Terms (AutoMod)
- Added info messages about your message being handled by AutoMod
- Added more info messages for Point Redemptions
- Removed follow/unfollow feature because Twitch removed the API

### Settings
- Custom Badges: Added ability to match on message tags
- Matching: Added `config:live` prefix to check for live stream
- Highlight: Added setting to mark matches from all highlight entries instead of
  just the first matching one
- Notifications: Added ability to specify several channels in "Channel" field
- Updating: Added setting to only update JAR
- Added ability to set separate buffer size for Highlights/Ignore panel
- Added more User Dialog Message History highlight options
- Added Live Streams settings page with some Live Streams list settings and more
  (e.g. you can toggle the new icon in the Live Streams list for open channels)

### Other
- Added FFZ custom VIP badge
- Joining channels:
  - Changed /join command to comma-separated list and same features as other
    ways to join channels (Connect Dialog, Join Dialog etc.)
  - Added more options for joining channels (Addressbook categories, favorites,
    live resctriction)
  - Some Twitch URLs can be specified for joining channels
  - Reduced join delay a bit
- Automatically change channel for Followers/Admin panel, added options in the
  panel's context menus to use fixed channel and to manually change the channel
- Added more Setting Commands, including alternatives with less verbose output
- Added option to print output of /proc command
- Added /foreach command
- Made Stream Chat dockable
- Initialize Settings Dialog when first opened to improve startup times
- Various other UI improvements
- Changed to OpenJDK 17 (Adoptium) for Windows Standalone
- Updated help

### Bugfixes
- Added method to interrupt long-running regular expressions which would cause
  the program to hang (e.g. catastrophic backtracking)
- Fixed icons in Live Streams List not showing up properly in some cases
- Fixed error when setting maximum tab width too low
- Various other bugfixes
    </pre>
    
    <h2>
        <a name="0.15">Version 0.15</a> (2021-07-03)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>More Tabs/Layouts improvements:</p>
    <ul>
        <li>More Info Dialogs (such as Channel Info, Followers, Modlogs, ..) can
            be docked as a tab through their context menu. This means they
            become part of the new Tabs system and can be dragged&amp;dropped
            just like channels.</li>
        <li>Layouts (splits, popouts) can now be saved and loaded, both
            automatically on restart and manually through the "View" menu. Note
            that layouts only affect Info Dialogs if they are docked as a tab.</li>
    </ul>
    <p>This version also implements some API changes mainly affecting Emoticons
        (neither the API nor the implementation is perfect yet, but more emotes
        should show up) and AutoMod (you may have to grant additional access for
        it to work fully). Moderators may also find the new Repeated Chat
        Message Detection useful (you can enable it in the "Moderation"
        settings).</p>
    <pre>
### Tabs / Layouts
- Added setting to restore last session's layout
- Manually save and load layouts through the View-menu and the /layouts command
- Made more dialogs dockable as a Tab, accessible through their context menu
  (Channel Info, Admin, Followers/Subscribers, Live Streams, Moderation Log)
- Added more settings, including: Max. Tab width, show channel title in splits,
  more advanced Tab sorting
- Open all tabs immediately when joining several channels
- Connect automatically when joining a channel while not connected
- Updated Tab context menu

### Twitch Features
- Updated AutoMod and Moderation Logs for new APIs
- Partially switched to new Emote APIs to support newer emotes
- Added setting to turn off animation for Twitch's animated emotes
- Added confirmation prompt for Follow/Unfollow context menu entries
  (Note: Follow/Unfollow will be removed from the API on July 27, 2021)

### Other
- Added Repeated Message Detection, which marks repeated messages from the same
  user in chat (Moderation Settings)
- Added ability to join channels associated with Addressbook categories (e.g.
  `[abc]` to join channels associated with the "abc" category
- Added setting to enable Custom Commands syntax for menu labels (for now mainly
  to display setting values)
- Added line numbers to some settings editors
- Added "Edit All" button for Custom Message Colors setting
- Added `!user:` Highlight prefix
- Added "https://" to Streamlink stream URL
- Updated translations
- Updated help

### Bugfixes
- Fixed copying text in chat sometimes not working
- Fixed copy text menu sometimes appearing when no text visibly selected
- Fixed reply command not working
- Fixed timezone setting not applying to some timestamps
- Fixed bug delaying Chatty startup
- Fixed rare PubSub related error
- Make chat log blacklist/whitelist entries lowercase (required for it to work)
    </pre>
    
    <h2>
        <a name="0.14">Version 0.14</a> (2021-03-04)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This version features (among other things) a more advanced drag&amp;drop
        functionality:</p>
    
    <ul>
        <li>Tabs can be dragged to the edges of a chat to create a split view
            with two tab panes side by side.</li>
        <li>Tabs can be dragged from one tab pane to another.</li>
        <li>Popouts also contain a tab pane now (if more than one tab is dragged
            into it).</li>
        <li>A popout can be opened through the tab context menu (as before) or
            by dragging a tab outside of the window. Popouts can be opened
            either as a dialog or separate window.</li>
        <li>More customization of how information on tabs is displayed.</li>
        <li>The Highlighted and Ignored Messages dialogs can be docked as a tab
            through their context menus.</li>
        <li>Find relevant settings under "Tabs" and "Window".</li>
    </ul>
    
    <pre>
### Custom Commands / Commands
- Added `$"&lt;text&gt;"` to Custom Commands syntax, where everything inside the
  quotes is interpreted as literal text (e.g. `$"This costs $30 dollars"`)
- Added optional args parameter to Custom Replacements: `$(_m,[args])`, where
  "args" is available in the "_m" replacement via `$1-` (like a function)
- Changes to the /chain command:
  - Automatically escape seperator character "|" in top-level replacements
  - Fixed bug where the wrong parameters would be sometimes set
- Added /say command
- Added $request() method to perform GET requests
- Improved $replace() function with more advanced replace options
- Added identifiers to retrieve info about the local user
- Prevent endless recursion that could happen in some cases
- Added warning when Custom Commands have the same name as built-in commands

### Matching (Highlight, Ignore etc.)
- Added Presets that can be used in individual Matching items (various prefixes)
- Improved Highlight editor
- Added "n:" prefix for notes that are ignored for matching
- Added "startw:" prefix
- Added Highlight-style user-related matching to custom Usercolors/Badges
- Added Ignore blacklist (to prevent message from being ignored)
- Various blacklist improvements
- Added "Message Info" context menu entry for chat messages showing which
  Highlights or Custom Message Color item they were affected by (if any)
- Improved Highlighted/Ignored messages dialogs (e.g. show bans/timeouts)

### Users
- Added date separator in User Dialog message history
- Added setting for User Dialog message limit
- Added user notes (via User Dialogs)
- Added support for showing pronouns (disabled by default)
- Added colored names in userlist (disabled by default, limited to users that
  already talked)

### Other Changes
- Improved tab/popout handling (see description above)
- Updated JTattoo Look&amp;Feels to fix some small tabs issues
- Added "Join"-link for hosted channels
- Keep message in input box after cancelling mention dialog
- Account: Allow opening connect URL on error to make manual process easier
- Always show whisper related info messages in active channel
- Added setting for link color in info messages
- Added FFZ per-channel bot recognition
- Increased the maximum amount of followed streams that can be requested
- Updated translations/texts
- Updated help

### Bugfixes
- Fixed error in Highlight editor due to missing icon on some platforms
- Fixed sub months in badge tooltips
- Fixed token verified dialog showing when it shouldn't
- Fixed website approved automod message showing as points reward
    </pre>
    
    <h2>
        <a name="0.13.1">Version 0.13.1</a> (2020-11-17)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
- Added number of subbed months to subscriber badge tooltip
- Added "$defaultColor" type for Custom Usercolors
- Improved color info in User Dialog when a default color is being replaced
- Added "All Types" option for Custom Badges
- Fixed FFZ emotes not loading
    </pre>
    
    <h2>
        <a name="0.13">Version 0.13</a> (2020-10-17)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Chatty now supports the Twitch reply feature, both marking replies with
        an icon (showing more information on hover) and sending a reply by
        writing a message beginning with an @-mention.</p>
    
    <p>Due to the new global hotkey library used Chatty does not have separate
        hotkey releases and global hotkeys should also work on Windows, Mac and
        Linux.</p>
    
    <pre>
### Twitch features
- Added some support for the Twitch Chat reply feature
  - Show icon in front of reply (hover over it to show messages)
  - Offer to reply when a message starts with @username (optionally restricted
    to using @@username)
- Added number of gifted months to gift sub message (as long as the original
  message doesn't have it)

### Settings
- Added setting "Main - Look - Use native window" to use the Window style the OS
  provides (which may allow native window management like window snapping)
- Highlight (and other): Added "chanCat2:" prefix to look for channel and user
  Addressbook category (instead of just channel Addressbook category)
- Added context menu setting for Stream Chat channel logo size
- Added some launch options
- Added "icons" setting to customize window icons used by Chatty

### Accessibility
- Added option to "Settings - Window - Chat input field focus" to not auto
  change focus
- Added setting to completely disable TAB Completion
- Can now move focus from input field using TAB if it is empty
- Associated a lot of labels with what they describe, added some tooltips
- Improved various GUI elements
- Changed some GUI elements to prevent getting trapped when using TAB navigation
- Improved cursor not moving in unexpected ways in chat

### Emotes Dialog
- Use Emote prefixes (automatically determined, so might not be correct) as
  fallback when no channel or other information is available
- Added clickable headings under "My Emotes" to allow hiding sections
- Changed dialog colors to be based on Chat Colors (foreground/background)

### Chat Log
- Added settings to log highlighted/ignored messages to separate files
- Allows whisper channels to be added to channel list
- Apply "$_whisper_" to per user tab logging as well

### Other Changes
- Added "/rejoin" command to rejoin directly without closing channel
- Switched to a different global hotkey library
  - Should work on Windows, Mac and Linux
  - No separate hotkey release versions
  - Fixed F13-F24 not working on Windows
- Added "Favorite Games" feature in Live Streams Dialog
  - Add/remove favorite games through context menu, under "Sort by.."
  - Streams (followed/joined) playing favorited games can be sorted to the top
  - Stream Status Notification can be restricted to only favorited games
- Changed "First Seen" to first message seen during the session, rather than
  user object first created during the session
- Updated some Moderation Log messages to include more information
- Updated translations
- Updated help

### Bugfixes
- Fixed some bugs where not all settings would be saved correctly for auto saves
  while Chatty is running
- Fixed error related to chat logging
- Fixed double replacement sometimes occuring with Filter list
- Updated some Twitch URLs
- Updated SRL API URL
- Added workaround for some inconsistent emote codes
    </pre>
    
    <h2>
        <a name="0.12">Version 0.12</a> (2020-05-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Settings are now also saved during the session, not just when closing
        Chatty. This may help with some issues, for example by notifying the
        user early about writing access issues.</p>
    
    <p>Also changed are setting backups (can now be accessed through the Settings
        Dialog) and how the Addressbook is saved (no longer in the "addressbook" file).</p>
    
    <pre>
### Settings Saving/Loading Changes
- Settings are now saved while Chatty is running, and only if they changed
- Improved "Main - Save.." option (for manually saving settings)
- New backup system, including a GUI to view and load backups more easily
  (Settings - Main - Settings Management)
- Addressbook: Added "Edit all"-button to Addressbook dialog for bulk edits
- Addressbook: Now saved in the "settings" instead of the "addressbook" file,
  although the "addressbook" file is still written to if the setting
  "abSaveOnChange" is enabled (but never read, except for the transition)

### Settings
- Stream Highlights: Added customizable template for the command reponse message
- Followers/Subscribers Dialog: Added some settings to the context menu to
  change the appearance of the list
- Added setting to change the timezone used by Chatty
- Chat Log: Added optional separate bits message
- Chat Log: Added customizable template for logging regular chat messages
- Added setting for input focus (Settings - Window) to test if it fixes issues

### Custom Commands
- Added identifier $(hostedChan) (the currently hosted channel, if any)
- Added function $is() for Highlight format matching (e.g. "$is(mystatus:bm)")
- Added function $calc() to perform simple calculations (e.g. "$calc(3*4)")
- Added function $switch(), similar to a switch-statement in programming
- Added function $get() to get setting values
- Added "var" setting, which can be used like variables ("/set var foo bar" and
  then "$get(var,foo)" returns "bar")
- Added setting to add Custom Commands to Admin Dialog context menu
- Added setting to add Custom Commands to text selection copy/paste context menu
- Added tooltips for Custom Commands in context menus, showing the raw command

### Utility Commands
- Added "/showLogDir" and "/openLogDir" to show/open the Chat Log directory
- Added "/openfile" and "/openfileprompt" to open a file in the default program
- Added "/requests" command to open the reward queue in the default browser

### Other Changes
- Stream Chat: Added optional channel logo (if channel is live)
- Stream Chat: Added context menu to more easily add/remove channels
- Admin Dialog: Added Status Presets context menu entry to use only game/tags
- Matching (Highlight etc.): Added "mystatus:" prefix to match against your own
  user status (e.g. "mystatus:bm" for broadcaster or moderator)
- Added notification about allowing "Your Subscriptions" access, so emotes are
  loaded properly
- Improved dark theme Look and Feel detection and Emotes Dialog background
- Improved debug output
- Updated help

### Bugfixes
- Fixed some types of streams not always showing up correctly
- Fixed stream uptime sometimes appearing wrong
- Fixed emote tooltip sometimes showing previously hovered emote's info
- Fixed rare Emotes Dialog error
    </pre>
    
    <h2>
        <a name="0.11">Version 0.11</a> (2020-01-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>The new "Look" settings now contain more customization options, including
        the "HiFi Custom" Look &amp; Feel, which allows setting a custom
        foreground and background color and various other styling options. Also
        contains a link to documentation for more advanced usage now.</p>
    
    <p><em>Note:</em> The Moderation Log (and related features) now require the
        "Moderate Channel" access. View and change your access under "Main - Login..".
        Restart Chatty after changing to ensure everything updated.</p>
    
    <pre>
### Customization / GUI Improvements
- Added more Look customization
- Added more Notification options
- Added more information to Stream Status Notification
- Added setting to customize User Dialog timestamp
- Added timestamp custom AM/PM formatting
- Added Copy/Cut/Paste context menus in some places
- Improved various Settings Dialog sections

### Moderating / Broadcasting
- Added "Open in.." menu to User Context Menu (open in other channel)
- Added account register time to Followers/Subscribers list
- Open User Dialog and User Context Menu from Followers/Subscribers list
- Admin Dialog: Added warning if title may be too long
- Added /commerical command

### Text Matching (Highlight, Ignore, Msg. Colors, ..)
- Removed escape char `\` from meta prefixes (so writing regex doesn't require
  escaping backslashes, now only quoting possible, e.g. `+start:"!bet top5"`)
- Added prefixes `blacklist:` (blacklist per item) and `text:`
- Added negated variants for text matching prefixes (such as `!start:`)
- Now supprting several text matching prefixes per item (prefix prefix with +),
  like `+start:!set w:bet` (starts with "!set" and contains the word "bet")
- Added "config:url" to require a URL to be in the text (same URL detection as
  clickable URLs in chat)
- Improved setting editor (shows more information, works better for testing)

### Twitch Features
- Removed Chat Rules dialog (Twitch removed the API)
- Removed Rooms support (Twitch discontinued Rooms)
- Show more detailed Points Redemption messages in your own channel (if you have
  allowed proper access, see "Main - Login..")
- Recognize founders as subscribers

### Third-Party Features
- Added limited support for seasonal combined emotes (such as "Kappa TopHat"),
  doesn't work in combination with animated emotes
- Changed to BTTV v3 API

## Other Changes
- Switched to another Websocket library, in an attempt to improve connection
  reliability for PubSub (Moderation Log) and FFZ-WS
- Added PubSub/FFZ-WS connection status to title
- Updated notifications in menubar, show some additional warning messages
- Mentions: Recognize users from user-related info messages
- Changed reconnecting timing a bit
- Updated translations (Thanks to contributors!)
- Updated help

### Bugfixes
- Fixed removed custom names sometimes not updating immediately
- Fixed Emote Dialog sometimes not updating to current channel
- Fixed /echo causing an empty TAB to open when used before connecting
- Added "chan" parameter as was documented to Notification OS Command
- Fixed some command TAB Completion case issues
- Fixed some updating GUI issues related to changing Look and Feel settings
- Changed to new Twitch Authentication URL
    </pre>
    
    <h2>
        <a name="0.10">Version 0.10</a> (2019-10-07)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This update adds limited support for the new channel points feature (more
        might be possible if and when Twitch releases an official API for it).</p>
    
    <p>It also contains some Emote-related changes improving the Emote Dialog,
        emote information and memory usage. In regards to customization, you can
        now separately change the color and font of the chat timestamp and
        favorite channels to show up differently in the Live Streams window.</p>
    
    <pre>
### New Twitch features
- Added support for receiving emotes modified by channel points (showing in
  Emotes Dialog/sent messages isn't possible right now due to lack of API data)
- Added initial support for messages highlighted by channel points
  - Shown in Highlight colors (can be turned off in the Highlight settings)
  - Special badge added (can be turned off by adding a Custom Badge of the same
    type with no image)
  - Added matching prefix "config:hl" (e.g. for Highlight or Msg. Colors list)
- Added initial support for displaying custom reward messages in chat (very
  limited due to lack of Twitch API data)

### Chat
- Added various timestamp customization settings (font, color, format)
- Changed behavior of matching prefixes (Highlights, Ignore, etc.)
  - Prefixes that that don't fit the context (e.g. "user:" on an info messages)
    now make the match fail
  - Can now specify the same prefix more than once (e.g. "status:s status:v")
  - Added some additional prefix options
- Improved Highlighted Messages window output (colors, more things clickable)

### Emotes
- Added image to Emote tooltips
- Implemented new Twitchemotes.com API for more up-to-date data and reduced
  memory usage
- Implemented a different Twitch API for more correct emotes display in
  "My Emotes" and sent messages (mostly for "special" emotes)
- Some Emotes Dialog improvements

### Commands
- Added Custom Command function "$replace()"
- Added some User related Custom Command parameters
- Changed command "/host" to host current channel if no argument provided
- Changed command "/userinfo" to trim input and default to local user

### User Dialog
- Allow smaller minimal size, more flexible sizing
- Added shortcut setting for ban reasons (Settings -> Moderation)

### Other
- Live Streams window: Mark Favorited Channels with star and (optionally) sorted
  first (context menu -> "Sort by" and "Miscellaneous" for options)
- Added experimental app-wide font scale setting (Settings -> Look)
- Changed a default font on System-Look&amp;Feel
- Added "$vip" to Custom Usercolors / Badges
- Changed notification border color for dark notification backgrounds
- TAB Completion: Always include current channel name
- Tray Icon: Added setting to show Chatty with single-click
- Updated translations / help

### Bugfixes
- Always show Live Streams window scrollbar, as an error workaround
- Fixed TAB Completion not working in some cases
- Fixed error related to TAB Completion
- Fixed Search dialog background color
- Various small bugfixes
    </pre>
    
    <h2>
        <a name="0.9.7">Version 0.9.7</a> (2019-07-15)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>The updated TAB Completion now shows emote images and allows scrolling
        and inserting results with the mouse. It is also easier accessible since
        it automatically shows up in some cases and includes some simple usage
        tooltips. As always, several settings allow customization.</p>
    
    <p>Also included in this update are several Moderation and Chat related
        improvements, updated Emoji, Bugfixes, and more.</p>
    
    <pre>
### TAB Completion
- Show emote images in TAB Completion popup (not just Emoji)
- Automatically start TAB Completion in some cases
- Allow scrolling and selection of emotes with the mouse (Shift-Click to insert
  several emotes)
- Improved Emoji search (expanding search if few results, aliases)
- Added new settings to Settings Dialog

### Custom Commands
- Added new function `$upper()` (make text uppercase)
- Added new function `$sort()` (sort token separated items alphabetically)
- Added new function `$urlencode()` (prepare text for including it in a URL)
- Added new identifiers `nick`, `reason` and `msg` in some contexts
- Improved "User Dialog Buttons" setting Test-button to show a User Dialog
- Improved error output

### Chat / Moderation
- Added clickable mentions to Info Messages
- Added Highlight matches marking in AutoMod messages
- Added AutoMod reason/category (e.g. "aggressive") to User Dialog
- Added info to User Dialog when a user is unbanned (from Moderation Log)
- Added setting to add background to unreadable nicknames in chat
- Added Msg. Colors setting to prefer Custom Msg. Colors over Highlight Colors

### Emoticons
- Sort Subemote channels in Emotes Dialog alphabetically
- Added previously missing Cheeremotes
- Updated Twemoji Emoji to Unicode 12 (and improved metadata)

### Other
- Disabled rotating tab rows for dark Look&amp;Feels
- Added scrollbars (if necessary) to Settings Dialog
- Added `/popoutchannel` command (same as right-click on TAB - Popout)

### Bugfixes
- Fixed Custom Command $rand() function error
- Fixed duped emotes occuring when an emote causes a highlight and "Mark all
  occurences" is enabled
- Fixed own subemotes missing if subscribed to a lot(!) of different channels
- Fixed channel context for context menu in non-focused popout
- Fixed PubSub reconnect delay
    </pre>
    
    <h2>
        <a name="0.9.6">Version 0.9.6</a> (2019-03-27)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>The new clickable mentions feature allows you to open the User Dialog by
        clicking not only on the usernames in front of the messages, but also on
        names that are mentioned within the messages themselves (as long as the
        mentioned user has recently chatted). In addition, hovering your mouse
        over a mention marks the username in chat temporarily.</p>
    
    <pre>
### Chat
- Added clickable mentions for users who have recently chatted (configurable in
  "Names" settings with different styling options)
- Hovering mention in chat with the mouse now temporarily marks that user
  (configurable in "Names" settings with different options on what triggers it)
- Mark Highlight/Ignore matches in more places, such as links or mentions
  (toggle in "Highlight" settings)
- Improved support for some new Twitch Chat messages
- Switched GIF decoder (which should fix some previously broken Animated GIFs)

### Custom Commands / Customization
- Added Custom Command functions `$datetime()` and `$randnum()`
- Added "vip" to `$mod` Custom Usericon position
- Added general "Info Message" Notification type
- Added hotkey actions for 120s and 180s commericals
- Added hotkey action to toggle Channel Favorites dialog

### Other
- Changed image cache structure to improve startup time
- Made some timing methods independent of system clock
- Added default fallback font (Unifont) to Windows Standalone
- Added commands for fallback font directory
- Increased/added character limit for some input fields
- Livestreamer Dialog: Don't reset size/position as often
- Updated localization strings
- Updated help

### Bugfixes
- Fixed bug that would cause the wrong element to be clicked sometimes
- Fixed error when trying to insert Emote from Emote Dialog into full inputbox
- Fixed loading of English (UK) strings
- Fixed User Dialog opening position being wrong with some taskbar locations
- Fixed custom emotes not showing in Emote Dialog favorites tab
- Fixed marked word (rectangle) style on some backgrounds
- Fixed some Emoji having an unrendered character behind them
    </pre>
    
    <h2>
        <a name="0.9.5">Version 0.9.5</a> (2019-02-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Twitch released the Stream Tags API for third-party developers, so Chatty
        now supports setting Stream Tags in the Admin Dialog, including the
        ability to add Favorites and set them via Presets.</p>
    
    <p>There have also been improvements on base memory usage and memory usage
        for long running instances, which may improve overall performance as
        well.</p>
    
    <pre>
### Chat
- Added symbol `!` for VIPs and sort in userlist
- Improved support for some new chat messages
- Changed Cheeremote default setting to animated
- Limited inputbox to 500 characters (Twitch Chat cuts off messages longer than
  500 characters, so this probably makes sense in most cases)
- Disabled gift sub combining since it didn't work well enough

### Moderation
- Append approved/denied behind AutoMod messages
- Don't hide indirect ModLog actions (e.g. "add blocked terms" when denying
  AutoMod message)
- Treat AutoMod messages like regular messages concerning bans (so e.g. they get
  deleted when the user is timed out)
- Shorten and filter linebreaks from AutoMod messages (normal chat messages
  cannot contain linebreaks, but AutoMod messages apparently do sometimes)
- Added setting to remove User Dialog messages of inactive users to reduce
  memory usage (defaults to 12 hours, changeable in Moderation Settings)

### Other
- Added Stream Tags support to Admin Dialog
- Added setting to automatically close Livestreamer/Streamlink Dialog when
  player is started
- Replace Emoji codes in Custom Commands as well
- Added setting to Stream Highlights to select which user types can trigger chat
  command (e.g. Moderators and VIPs)
- Added setting to always show tray icon
- Changed tray icon action to switch between show/minimize to tray
- Added setting to automatically hide Live Streams window when minimizing Main
  window
- Added splash screen window icon
- Changed image file cache duration in an attempt to improve startup time
- Improved memory usage
- Improved debug output
- Updated help

### Bugfixes
- Added handling for possible regex error
- Added limit to some input fields to prevent hanging when inadvertently pasting
  very long text
- Removed confusing Program Group page from installer
- Fixed AutoMod message timestamp custom color
- Fixed loading FFZ Emotes for namechanged channels
- Fixed User Dialog ban info being overwritten sometimes
    </pre>
    
    <h2>
        <a name="0.9.4">Version 0.9.4</a> (2019-01-08)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <pre>
### User Dialog
- Improved info shown in User Dialog: Added follow age, reorganized, added
  context menus and improved tooltips
- Changed User Dialog to not close while pinned, even when clicking on button
  (except the Close-button of course)
- Added Custom Command parameters related to shown information
- Added setting to reuse User Dialog of same user, instead of opening/switching
  another one
- Changed shake effect when opening User Dialog of same user depending on which
  message it was opened from

### Misc
- Added status symbol "!" for VIPs, added prefix value for message matching,
  unified Staff/Admin to "&"
- Improved Live Streams List sorting context menu
- Made URL parsing a bit more lenient
- Updated help

### Bugfixes
- Fixed error related to Moderation Log
- Fixed User Dialog opening in the wrong location sometimes
- Handle error related to Live Streams List
- Fixed minor bug of User Dialog buttons state not being set properly sometimes
    </pre>
    
    <h2>
        <a name="0.9.3">Version 0.9.3</a> (2018-12-31)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Custom Message Colors and Highlights can now also apply to Info Messages
        and allow you to set the background color, so it's possible to customize
        the foreground/background of almost any message in the chat window.</p>
    
    <p>Moderators can now delete individual messages and get who performed a
        moderation action directly appended to the associated message.</p>
    
    <pre>
### Chat
- Added ability to customize message background color (through Message Colors
  settings and the "bgcolor:" prefix for Highlights)
- Added prefix "config:info" to Message Colors settings and Highlights as well,
  allowing you to customize the foreground/background color for more messages
  (e.g. `config:info [Notification]` in Msg. Colors to customize the color of
  subscriber notifications)
- Added prefix "config:any" to match both Regular Messages and Info Messages
- Added prefix "config:firstmsg" to only match the first message of a user in
  a channel during the current session
- Added "replacement:none" prefix to Filter list to have no replacement at all

### Moderation
- Added support for deletion of single messages (Delete button automatically
  added to the User Dialog)
- Append which mod performed an action (e.g. ban/timeout), and only show
  separate ModAction message if no associated message is present in chat
- Output ban/timeout reason from Modlogs, since Twitch removed it from chat

### Custom Commands
- Added "/chain" command to perform several commands at once
- Added $(chans) parameter containing all open regular channels
- Added $(msg-id) and $(automod-msg-id) parameters to User Context Menu
- Added $rand() function, to choose one random entry from the parameter list
- Extended Click-On-User-Holding-Ctrl command to allow anonymous commands
- Added "//" prefix to inputbox to directly run anonymous command
  (e.g. `//echo $(chans)`)

### TAB Completion
- Changed TAB Completion for Emoji to search within codes without min. character
  limit, but only search at the beginning of words (separated by underscores)
  and only at the very beginning if already too many matches
- Changed TAB Completion for Emotes/Commands to search at the beginning of words
  as well (capitalized), so e.g. "chair"+TAB will find both "joshChair" and
  "broughyChair" (setting options for previous behaviour or to search anywhere)

### Misc
- Added Splash Screen that shows while Chatty is starting
- Added /marker support to add Stream Markers (also extended Stream Highlights
  feature to add Stream Marker at the same time, added to Settings Dialog)
- Added ability to revoke (not just remove) Login token directly out of Chatty
- Improved debug output
- Improved performance
- Made links in info messages clickable
- Improved Username Color Correction, added several modes to choose from
- Changed "/join" command to allow joining several space-seperated channels
- Some other improvements
- Updated help

### Bugfixes
- Fixed Custom Usericons matching a 3rd Party badge type inadvertently applying
  to every user
- Fixed colors in Viewer History graph for dark Look&amp;Feel
    </pre>
    
    <h2>
        <a name="0.9.2">Version 0.9.2</a> (2018-10-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Highlights of this update include the changed Color Settings &amp; Chat
        Layout (with various options for message background colors and more),
        performance improvements (especially for animated GIFs) and the new
        Update Dialog.</p>
    
    <pre>
### Chat Layout/Colors
- Improved Badge/Emote positioning and chat margins
- Added support for alternating message backgrounds and message separators
- Updated Chat Color settings, added more presets

### More Chat
- Improved chat scrolling performance
- Improved Animated GIF performance
- Emphasize Highlight/Ignore matches
- Added tooltips to Emotes/Badges in chat
- Added support for FrankerFaceZ Supporter badge
- Improved output of Usernotice messages (Emote support for message part, output
  unknown message types better)
- Combine gifted subs messages to improve performance
- Added chat filter to filter out parts of messages (as opposed to ignoring the
  while messages)

### Installing/Updating
- Added new Update Dialog, easier updating process on Windows
- Added option to include Betas in update notifications
- Added Windows installers for more comfortable installation

### Other
- Removed Communities (Twitch hasn't released an API for Tags yet)
- Added User Dialog pinning (if pinned the dialog stays open on the same user,
  clicking on another user opens a new one)
- Changed default User Dialog opening location
- Added position value for Custom Usericons
- Remember scroll position when navigating through help
- Changed default window position and how dialogs move with main window
- Added some more debug and system commands
- Updated translations
- Updated help

### Bugfixes
- Fixed scrolling chat with PageUp/Down while focus is on inputbox
- Fixed exception occuring on some systems
- Fixed Stream Chat scrolling
- Fixed Stream Chat message timeout when timestamp is disabled
- Fixed Desktop Notifications memory leak
- Fixed Animated GIFs using resources even when not visible
- Fixed Emoji TAB Completion eating following word sometimes
- Fixed Twitch Emotes not appearing sometimes (same as Emotefix version)
- Fixed error occuring due to some rare incompatible images
- Fixed Highlight configuration (e.g. no notification) not carrying over to
  follow-up Highlights
    </pre>
    
    <h2>
        <a name="0.9.1">Version 0.9.1</a> (2018-04-02)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This version has a lot of under-the-hood changes to allow for the new
        Rooms feature that Twitch added. The implementation in Chatty is rather
        basic: You can join rooms available for the current channel through the
        "Channels" menu and you can favorite rooms, however for example there is
        not yet an implementation for viewing the Room chat history.</p>
    
    <p>If you're a heavy user of the Highlight system you may appreciate the
        addition of the Highlight Blacklist as well as improvements to the
        dialog used for editing the text matching pattern. Also note that there
        have been slight changes to some prefixes (see below).</p>
    
    <pre>
### Main Features
- Added basic support for Rooms (join via Channels-menu and Favorites/History)
- Added initial support for translating the Chatty GUI to other languages,
  added some partial translations (thanks to volunteers translating)

### Highlighting/Ignore
- Added Highlight Blacklist, to prevent some matches from triggering Highlights
- Improved Highlight pattern tester (used in other places as well), now with
  match color highlighting, and open directly instead of hiding behind "Test"
- Some text matching prefixes changes (Highlighting/Ignore/..):
  - Changed `w:`/`wcs:` to not take Regex anymore
  - Added `reg:` prefix and variations for using Regex with more consistent and
    predictable naming scheme (`re:` and `re*:` still work as before)
  - Invalid regex now won't match any text, instead of just disregarding the
    pattern and matching all text

### Settings
- Setting files `favoritesAndHistory` and `statusPresets` now both merged into
  `settings` file, unused files are removed
- Possibly made saving settings more reliable in some circumstances
- Reorganized Settings Dialog, added new menu for navgiation
- Added setting for vertical zoom in Channel Info Dialog, improved context menu
- Added setting for logging regular chat messages (and thus a way to disable it)
- Added setting whether to show chat inputbox by default (and thus a way to hide
  it by default)
- Added "Off" option for notification type setting
- Updated Livestreamer context menu qualities setting format to allow specifying
  display names for groups of qualities
- Changed TAB Completion default to complete both usernames and emotes with TAB

### Other Changes
- Changed chat inputbox to automatically grow when entering long lines
  (you need to hold Ctrl to navigate input history, changeable in Chat Settings)
- Added /favorite and /unfavorite commands (Channel Favorites)
- Added /joinhosted command to join currently hosted channel
- Changed /appinfo command to contain more information
- Don't add space anymore when chat timestamp is empty
- Show more stream types as "[VOD]" (Premiere, Vodcast, Rerun..)
- Updated help

### Bugfixes
- Fixed bug loading emotes.txt
- Fixed possible Community search issue
- Fixed username capitalization locale bug (e.g. Turkish locale)
- Fixed bug where "Cancel" in the Open URL dialog would sometimes copy the URL
- Fixed possible bug with tray icon
- Fixed some FFZ API/other URLs not using https
</pre>
    
    <h2>
        <a name="0.9">Version 0.9</a> (2017-12-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This version includes more Look and Feels which you can select in the
        settings, including some fully dark themes.</p>
    
    <p>There should also be a slight improvement in memory usage and startup
        performance, since not all emote metadata is loaded at once anymore
        (which actually takes up a lot of resources with more than 300k emotes).</p>
    
    <p>Also check out TAB Completion for Emoji, with which you can e.g. enter
        <code>:think</code> and <kbd>TAB</kbd> to complete to <code>:thinking:</code>,
        which when send through the inputbox is replaced with the appropriate
        Emoji character (which is also a new feature).</p>
    
    <pre>
### Twitch Updates
- Added /raid command and display of incoming raids, joining raids doesn't work
- Added support for gifted sub messages

### Look / GUI
- Added more Look and Feels, including dark themes
- Added custom presets to color settings
- Added userlist font setting
- Improved organization and help in Settings Dialog a bit
- Updated Chatty app icons
- Added feature to customize message color based on rules (like Highlighting,
  except it only colors messages)
- Updated help

### Emoticons / Emoji
- Load emoticon metadata only as needed to improve memory usage
- Updated source for subscriber emoticon metadata, fixing e.g. which channel an
  emote is from, added display of emote tiers
- Improved display of information in emote context menu and emote dialog
- Grouped together sets with only one emote in Emote Dialog
- Fixed some BTTV emotes (like D:) appearing when they shouldn't
- Added Emoji TAB Completion (anything starting with ":")
- Added conversion of Emoji short code to Emoji character when entered into the
  inputbox (e.g. :thinking: -> &lt;unicode_character&gt; when being sent)

### Settings
- Added -d launch argument to directly specify settings directory
- Added ability to execute program for Notifications (e.g. run native Linux
  notification)
- Added ability to change spamProtection setting without restart
- Added F1 to open help to settings (instead of it being hardcoded)
- Added "log ignored messages" setting, to be able to turn that off (by default
  it does log them, as before)
- Added more timestamp options to the settings (anything can be set via setting
  commands anyway, but that's not very accessible)
- Improve setting commands

### Bugfixes
- Fixed bug with separators in custom context menus
- Fixed some emote code conversions
- Fixed error on "Use title only" in Admin Dialog
- Possibly fixed rare error with parsing livestreamer menu options
</pre>
    
    <h2>
        <a name="0.8.7">Version 0.8.7</a> (2017-09-12)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This update finally contains the ability to set the three communities. It
        has been in beta for a while, but unfortunately I seem to be pretty bad
        at releasing frequent updates, sorry about that (following job interview
        cliché I guess I would have to say it's because I'm a perfectionist ;).
        Due to that, there are also some more changes in this update than usual,
        that have collected over time.</p>
    
    <p>A note about memory usage and emoticons: With the number of emotes
        skyrocketing due to the introduction of the Affiliate program, Chatty
        has much more emote metadata (not images) to handle, which causes issues
        for some users. It needs that data to populate the Emote Dialog and also
        (for sent messages) to show emotes in chat. I will try to improve the
        situation over the coming updates, probably by only requesting data as
        needed, instead of all at once (although there are related issues to
        solve for this to work properly).</p>
    
    <pre>
### Communities / Channel Info
- Added support for selecting several communities in Admin Dialog
- Removed F hotkey for toggling Community favorites (because that can interfere
  with searching the list), use Alt+F instead
- Updated Channel Info Dialog to show several communities (in overflow menu if
  there is not enough space)
- More info updated when hovering over history graph in Channel Info Dialog
  (uptime, communities, stream type)

### Notifications
- Don't match own messages by default, but added option to do so anyway
- Added option to only trigger on messages containing bits
- Added text matching for Stream Status and Subscriber Notifications
- Added separate dialog to edit text matching pattern, including some basic help
- Prevent channel tab color changing from own messages (by username)

### TAB Completion
- Added settings to what TAB and Shift-TAB should complete, but always complete
  to username when using the @ prefix
- Added completion of Custom Command names
- Reorganized settings

### Custom Commands / Moderation
- Added $lower function to make text lowercase
- Improved error output, showing the place the error occured more conveniently
- Made function parsing more lenient, so that you can use a replacement in
  the first function parameter (if it starts with "$"), which usually would
  require an identifier (e.g. "$lower(1)" or "$lower($(1))")
- AutoMod: Made name of filtered messages in chat clickable, so you can open the
  context menu or User Info Dialog to approve/deny a message
- Added special commands /Automod_approve and /Automod_deny that can be used to
  position the Approve/Deny buttons in the User Info Dialog

### Other Settings Stuff
- Highlights/Ignore: Added "re*:" prefix (matching anywhere in message, except
  of whole message, so "re*:abc" and "re:.*abc.*" would be equivalent)
- Added "Test"-button to some matcher settings (e.g. Highlights) where you can
  test if the pattern you entered matches a text
- Added setting to close User Info Dialog when clicking on button (enabled by
  default to keep previous behaviour, but can be disabled now)
- Added ability to add Livestreamer fallback quality options
- Added "Edit all entries" button to some list settings, which allows all
  entries to be edited in one editbox (separated by newlines)

### Other Improvements
- Vodcasts are now marked with "[VOD]" in several places, and also made the
  Channel Info Dialog history graph line color grey for Vodcasts
- Set Admin/Followers Dialog to first joined channel, if already open
- Don't immediately remove streams from Live Streams Dialog on request error
- Added "/userinfo &lt;name&gt;" command to open specific User Info Dialog
- Live Streams List: Added hotkeys for join selected (Enter), open Channel Info
  (Space) and open context menu (Context Menu Button)
- Channel Info Dialog: Added ESC hotkey to close
- Removed message type from Tray Notifications, which should allow Chatty icon
  to show up on them on some OS
- Minor memory usage improvement in regards to Twitch Emotes metadata
- Show Twitch Charity messages
- Updated help

### Bugfixes
- Fixed error related to the User Dialog custom buttons setting
- Fixed error in Notification settings when no sounds could be found
- Fixed global emotes showing as Subscriber Emotes in context menu
- Fixed deselecting graph item on channel change
- Fixed Whisper-Type Notification triggering when it shouldn't
- Fixed parsing behaviour of numeric identifiers with more than one number
- Fixed minor display bug in Live Streams List
</pre>
    
    <h2>
        <a name="0.8.6">Version 0.8.6</a> (2017-05-27)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This version features a new Notification system, which combines both
        Desktop Notifications and Sounds. It is more flexible to configure and
        can be easier extended on the programming side. It has more types of
        events (like Whispers or AutoMod messages), better matching of events
        (matching text or restricting to a channel) and things like configurable
        colors for Desktop Notifications.</p>
    
    <p><em>Note:</em> While your previous Desktop Notification Settings should be
        carried over, you will have to reconfigure any Sounds in the new system
        (if you used any).</p>
    
<pre>
### General
- Added new Notification system
- Added support for new sub messages
- Added button to sort some setting lists alphabetically
- Changed Emote Context Menu entry "Twitch Profile" to "Twitch Stream"
- Some other Settings Dialog and GUI improvements
- Made Addressbook mod commands channel setting case-insensitive
- Some debug output improvements
- Updated help

### Custom Commands
- Added custom replacements
- Added $ifeq function
- Added feature to add channel-specific Custom Commands
- Made identifiers case-insensitive
- Allow absolute positioning of Custom Menu Items

### Bugfixes
- Fixed word wrapping issues (hopefully)
- Fixed selection in chat window moving around
- Added workaround for error occuring in Java 1.8.0_131 (the actual cause of the
  error is still unclear, but hopefully this works well enough)
</pre>
    
    <h2>
        <a name="0.8.5.1">Version 0.8.5.1</a> (2017-04-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
<pre>
- Fixed Whispering that didn't work due to changed Twitch behaviour
- Fixed bug related to Custom Commands which would prevent startup
- Minor change to not removing leading/trailing whitespace from entering
  commands, to allow for some more usages
- Updated help
</pre>
    
    <h2>
        <a name="0.8.5">Version 0.8.5</a> (2017-04-12)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Custom Commands got a major overhaul in this version, which means that
        some of the Custom Commands you are using may have to be fixed (although
        it should be mostly backwards-compatible). Both Custom Commands and
        adding them to the Context Menus/User Dialog has become more flexible
        (for example you can add custom submenus, define commands directly in
        the menu and move/remove the Mod/Unmod button in the User Dialog). Check
        out the <a href="help-custom_commands.html">updated help</a> if you want
        to learn more about it.</p>
    
    <p>Also featured in this version is support for Communities in the Admin
        Dialog. As with games Communities can be favorited and are integrated
        into the Presets.</p>
    
<pre>
### New features
- Admin Dialog: Added support for setting a Community
- Added AutoMod dialog (Extra - AutoMod) to approve/deny messages
- User Dialog: Added ban reasons
- Added support for Cheer emoticons
- Added Follower-Only mode support
- Added "/untimeout" command
- Added Window Standalone Bundle (no installed Java required)

### Other changes
- Moved to v5 of the Twitch API
- Only show 2x size of GIF emotes if scaling is 160% or higher
- Allow "!highlight" command to be executed locally as well
- Improved URL parsing a bit

### Settings
- Added automatic Chat Log splits (daily, weekly, monthly) and channel
  directories settings
- Added setting to disable Chat Log file locking
- Changed line spacing setting defaults
- Changed Ignore Mode default to "Hide"
- Further attempts to improve reliability of saving settings
- Added "maxReconnectionAttempts" setting (commands only)
- Added setting for placement of the Tabs
- Added setting for per-Tab Chat Buffer
- Added "/set" command special value "!" to toggle boolean settings
- Extended Emote Ignore feature to Cheer Emoticons
- Moved "Simple Title" setting to Titlebar options submenu
- Reorganized Settings Dialog a bit

### Custom Commands
- New parser which may require changes to some existing Custom Commands
- Added some simple functions for more flexibility (like $if to check if a
  parameter exists)
- Changed format of Custom Menus to support defining commands directly in the
  menu setting as well as custom submenus
- Changed format of User Dialog Buttons to support adding several rows of
  buttons, as well as moving/removing the Mod/Unmod button
- Added "Test" button to some settings to check format of commands and show a
  limited preview of Custom Menus
- Added replacements for stream info (title, game, viewers, ..)

### Bugfixes
- Fixed "/refresh bttvemotes" command when not on a channel
- Further improved GIF rendering
- Fixed rare error in Webserver
- Fixed some Settings Dialog bugs
</pre>
    
    <h2>
        <a name="0.8.4.1">Version 0.8.4.1</a> (2016-10-29)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>With the new experimental Message Spacing setting (<code>Settings - Main</code>)
        you can change the space between messages/paragraphs (as opposed to
        between all individual lines with the Line Spacing setting).</p>
    
<pre>
- Added Message Spacing setting
- Improved Badge Context Menu and Custom Usericon settings
- Added "reuser:" Highlight/Ingore prefix to match on a username with regex
- Added GUI setting to disable auto-requesting of important announcements
- Fixed Account Age display for accounts less than a day old
- Fixed some Featured FFZ emotes not respecting FFZ enabled setting
- Fixed Halloween special of a spoopy error appearing every 6 hours
- Updated help
</pre>
    
    <h2>
        <a name="0.8.4">Version 0.8.4</a> (2016-10-23)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>This update implements the new Badge system that Twitch introduced, which
        is much more flexible and allows for all the new special Badges like
        Bits, Prime or Loyalty Badges.</p>
    
    <p>Weed out rogue mods with the new Mod Action Log. Twitch added a way for
        mods to see what commands other mods have executed in the channel. In
        Chatty you can view these mod actions in a separate window via
        <code>Extra - Moderation&nbsp;Log</code> or enable them to appear as
        additional messages directly in chat (<code>Main - Settings - Messages</code>).</p>
    
<pre>
### Emotes/Badges
- Added Emoji support (are shown in chat and can be favorited as Emotes)
- Added displaying of received Cheering emotes (sending Cheers is not possible)
- Added support for new Twitch Badge system (e.g. Bits Badge, Prime Badge)
  - Updated Custom Usericon settings, added $badge: restriction, other stuff
  - Allow Custom Usericons without an image, to hide the matching default badge
  - Recognize users with Prime Badge as Turbo users for some stuff like status
    smybol (+) or matching users
  - Added Status Symbols: $ (Bits), + (Prime Turbo), ' (Addon), ? (Unknown)
    (last two only being used in chat, when you copy&paste the message)
- Implemented proper FFZ Bots API
- Only show one set of emotes in Emote Dialog if user has both Prime and Turbo

### Settings
- Added setting whether to show the userlist by default
- Added setting to save Addressbook to file on change
- Livestreamer: Added some variables to base command ($stream, $url, $quality)
- Added Sound Output Device selection

### Commands
- Added "/ffz following" command
- Added /setsize command to set size of main window
- Added Hotkey action to close Chatty

### Moderation
- Added initial support for displaying mod actions (Broadcaster/Mods only)
- Added initial support for unofficial way of deleting single messages
- Added automatic showing of Chat Rules and menu entries to show manually
- Changed "More.." info in User Info Dialog to stay shown until clicked again
- Changed account age to show years and days
- Added User Info Dialog to window manager, so it can keep position
- Chatlog: Added account age to BAN messages, but only if info was loaded before

### Other
- Added support for Localized Names (you can configure how these are shown)
- Some changes to the build process
- Updated Context Menus:
  - Removed entries for pages that Twitch removed (Twitch Profile, old Popout)
  - Added some icons to some Context Menus, added some margin so mouse doesn't
    hide entries
  - Added Context Menu for badges, showing some info
  - Added "Set color" and "Set name" User Context Menu entries
  - Add Livestreams Dialog Context Menu entry to manually refresh streams
- Removed version from URL when opening Help website out of Chatty

### Bugfixes
- Fixed some dialogs not reopening even with the appropriate setting
- Fixed bug with empty Whisper TAB appearing
- Fixed reconnect delay off-by-one error
- Fixed Whisper notification typo/encoding
- Only send Content-Type header to Twitch API when sending data, which otherwise
  may trip up the API
- Fixed ignoring of info messages not respecting the "Enable Ignore" setting
</pre>

    <h2>
        <a name="0.8.3">Version 0.8.3</a> (2016-06-28)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>Twitch has added information on the length of timeouts, which Chatty will
        now output by default behind deleted messages. Twitch Chat now also
        supports reason messages for timeouts/bans, which will be shown in
        Chatty only to the affected person as well as all mods.</p>
    
    <p>You can now follow people directly out of Chatty using the commands
        <code>/follow</code> and <code>/unfollow</code> and via context menus
        under <code>Miscellaneous</code>. If you try to follow someone you are
        already following, it will show how long you are already following.</p>
    
    <p><em>Important:</em> To be able to follow/unfollow channels you first need
        to request new login data, because this feature requires the
        <code>Follow channels</code> access which Chatty didn't request before.</p>
    
    <p>This version also adds initial support for the new re-sub notifications
        with attached messages.</p>
    
    <h3>Full Changelog</h3>
<pre>
Improvements
============
- Added display of timeout duration/reason (can be configured in the settings)
- Updated commands /ban and /timeout (/to) to allow giving a reason
- Added intitial support for new re-subscription messages
- Added ability to follow/unfollow channels, either through the context menus
  (under Miscellaneous) or the new commands /follow and /unfollow
- Added support for FFZ Featured Emotes, which are frequently available in
  channels of Speedrunning events (not to confuse with FFZ Feature Friday)
- Added setting (under Ignore - Ignored Users) to hide users ignored on chat
  from joins/parts and userlist as well
- Added state display for emote-only mode in titlebar
- Added simple search to tables in the Settings Dialog (click into a table
  column and start typing, Backspace or wait to reset search)
- Extended Stream Status Writer to include number of Followers/Subscribers
  (only updates correctly when the Follower/Subscribers dialog is open)
- Updated help

Login
=====
- Added info to login dialog when token was set through -token parameter
- Added setting to prevent token from being set through -token parameter when
  login data is already available in Chatty
- Added "Follow channels" access (you need to re-request login data to get it)

System
======
- Restrict size of session debug log file
- Automatically exit application when too many errors occur (which should never
  happen, but if it does, this should prevent affecting the rest of the system)
- Added some Mac specific shortcuts
- Improved debug logging

Bugfixes
========
- Fixed not being able to join (and perform some other actions) through context
  menu, for channels that contain spaces in the display name
</pre>
    
    <h2>
        <a name="0.8.2">Version 0.8.2</a> (2016-04-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <p>During March Twitch migrated Twitch Chat to new servers (Amazon AWS),
        which you probably noticed due to some issues for some third-party
        tools. This however also brought some improvements:</p>
    
    <ul>
        <li>Twitch Chat now supports SSL on ports 6697 and 443
            <ul>
                <li>Chatty will automatically add these to the default ports if
                    your port setting is still on the previous default
                    (otherwise you might have to add them yourself).</li>
            </ul>
        </li>
        <li>No separate Event Chat servers anymore
            <ul>
                <li>Access all channels, including of big events, in Chatty
                    without having to change servers.</li>
            </ul>
        </li>
        <li>Whispers (and Group Chat) got moved to AWS early April
            <ul>
                <li>No Whisper server configuration required anymore, just
                    enable Whispers in the settings if you want to use them.</li>
            </ul>
        </li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
Improvements
============
- Added some account info to User Info Dialog (click on "More..")
- Added auto-unhost feature (to unhost when your stream goes live, disabled by
  default)
- Added new Twitch Player URL in context menu
- Added feature to automatically add Addressbook categories based on Subscriber
  notifications (experimental)
- Added feature to automatically copy messages into clipboard
- Admin Dialog: Added error message for trying to set invalid stream status
- Added context menu entries to directly host channel
- Made URL detection a bit more lenient
- Updated help

System
======
- Added single-instance mode, with the ability to join channels in the already
  running instance
- Added in-app announcements (Help - Announcements), for more reliable
  communication of relevant news about Chatty (if new announcement is available
  a window will pop up on start and a notification will be shown in the main
  menu bar)
- Moved debug logs into separate directory
- Added /proc command to start native processes out of Chatty
- Made restoring window position more lenient for partly off-screen positions

Connection
==========
- Bouncer: Some changes allowing you to connect to a Bouncer
- Whispers: Moved to main chat (AWS)
- Whispers: Hidden userlist for Whisper tabs by default
- Whispers: Added auto-responses for ignored/non-whitelisted users (disabled by
  default)
- Increased max reconnection attempts to 40
- Added `force_verify=true` parameter to Authorize URL (makes Twitch always ask
  if you want to Authorize, makes sure you are logged in to the right account)
- Added some support for selecting the correct chat server

Emotes
======
- Emote Dialog: Improved shown info a bit
- Added /emoteonly and /emoteonlyoff commands (in case they get enabled again)
- Added "emotesets" parameter to /refresh command
- Changed twitchemotes.com API URL (which is the source of emoteset information)
- ShortenDisplayOfExcessivelyLongEmoteCodesLookingOutTheirWindow

Settings
========
- Added more chat font size choices to GUI
- Added input font setting to GUI
- Added setting to prevent highlights from specific users (e.g. your own bots)
- Added setting to toggle closing of Emote Dialog when double-clicking on Emote
- Added setting to remember Status History table sorting order
- Added setting to toggle Usercolor correction
- Added setting to display more verbose uptime in titlebar (enabled by default)
- Added setting to toggle check for restoring off-screen window position
- Added setting to prepend arbitrary text to the window title
- Changed default for showing animated emotes to off
- Changed default for Min. Userlist Width to 0
- Changed default for Whisper Display Mode to per user
- Changed defaults for server/port (actively changed when updating to this
  version, if setting values are on the previous default)
- Changed default for Highlight Mod Command to !highlight, ignore case for both
  the channel and command setting
- Made setting names case-insensitive (for use with setting commands)
- Changed the process of saving settings in an attempt to make it more reliable
- Added menu entry to save settings manually

Bugfixes
========
- Fixed Admin Dialog sizing causing display issues
- Fixed spam protection message being displayed on the wrong channel
- Fixed new Twitch Emotes code being one character short
- Fixed autojoin not working sometimes
- Fixed framerate of GIFs, which may break some GIFs that worked before, but
  prevents high CPU usage (displaying animated GIFs in Java is hard)
- Check if Java supports opening URLs on the current platform and run native
  command if necessary
- Fixed sounds not being closed when finished playing
- Fixed tabs not changing correctly on System Look&amp;Feel
- Fixed error on host notification due to moving Whispers to AWS
</pre>
    
    <h2>
        <a name="0.8.1">Version 0.8.1</a> (2015-08-10)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights / Important Information</h3>
    <ul>
        <li>If you want to use the <code>/w</code> (whisper) command and receive whispers in Chatty, read the
            <a href="help-whisper.html">Whisper Help</a> (some configuration required).</li>
        <li>Added feature to <a href="help.html#pausechat">pause scrolling</a> when moving the mouse over chat
            (you have to enable it in the settings under <code>Chat</code>).</li>
        <li>Added Tabs drag and drop reordering, more menu options for closing and more.</li>
        <li>Readded FFZ Feature Friday support and improved it.</li>
        <li>Show more stream and channel state information (like slowmode, submode, etc.).</li>
    </ul>
    <h3>Full Changelog</h3>
<pre>
#### New features
- Added experimental Whisper support (this will probably not be developed much
  until Twitch moves Whispers to the new system, read help on how to enable)
- Improved TAB Completion: Added predictive sorting for names which gives users
  who recently talked/highlighted you a higher priority, added setting to
  toggle completion to common prefix (disabled by default)
- Added dedicated ignore user lists (separate for chat and whispers)

#### Chat Window
- Added Pause Chat when moving mouse over chat feature (enable in the settings)
- Changed Ctrl to be used to pause chat, use AltGr for selecting when clicking
  on a username in chat
- Don't scroll down when scrolled up even when scroll down timeout has passed
  while holding Ctrl
- Added one-click moderation when holding Ctrl (configure in the Chat settings)

#### Tabs
- Added manual resorting of tabs by drag and drop
- Added more menu entries to close tabs to Tab Context Menu
- Rejoin channels in the order the tabs were, when rejoining channels from last
  session on start (depends on the Tab Order setting of course)
- Switch to tab when right-clicking on it (which wasn't the case everywhere)
- Optional mouse wheel scrolling through tabs (enable in the settings)

#### Emoticons
- Added FFZ Feature Friday again and improved support for it in Emotes Dialog
- Improved Emote Context Menu (open twitchemotes.com for Twitch emotes id,
  added channel submenu for more emotes where it makes sense)
- Added setting to toggle animated emotes (BTTV GIF emotes)
- Allow global FFZ/BTTV emotes to be added to the favorites as well
- Don't show 150% size in Emotes Dialog Detail View when emote is too wide
- Sort Channel Subscriber Emotes alphabetically

#### Chat/Stream Info Display
- Improved display for long slowmode times in the titlebar
- Implemented new ROOMSTATE command, allowing for accurate display of
  submode/slowmode/r9k in titlebar
- Added stream uptime to the titlebar, added settings to customize what is shown
  in the titlebar a bit more (`View - Options - Titlebar`)
- Added stream uptime to Live Streams Dialog

#### Settings / Configuration
- Added timestamp option to "Log to file" settings (previously only changeable
  with setting commands)
- Highlight/Ignore: Allow non-standard channels in `chan:`/`!chan:` prefixes
- Added setting for minimum userlist width
- Switched default ports to `6667,443` due to port 80 not being available
  anymore for standard IRC
- Increased default chat buffer size
- Updated Settings Dialog
- Added `$globalmod` and `$anymod` status identifiers for Usericons/Usercolors
- Added `$first` option for Custom Usericon restriction to show them in front of
  the regular Usericons
- Added setting for filtering of combining characters to change between off,
  lenient and strict replacing (filter can circumvent performance issues)

#### Commands / Menus
- Added Copy Stream Name to Channel Context Menu (Miscellaneous submenu)
- Added hotkey action to close all/all shown notifications
- Added /openBackupDir command
- Added entries to the `Extra` menu to record/open Stream Highlights
- Added "Open speedrun.com" Channel Context Menu entry in Miscellaneous submenu
  (which tries to open the leaderboards page for the current game)

#### Other Changes
- Added "Open in online help" button in Help window
- Show indication of action message (/me) in User Info Dialog chat history and
  log files (star in front of the message)
- Apply bans/timeouts to Stream Chat
- Changed website URL to GitHub
- Improved debug output a bit, renamed current session debug log file
- Keep showing "Update Available" notification after restart
- Removed condition to use maximum reconnection delay when host could not be
  resolved
- Updated help

#### Bugfixes
- Fixed error in slowmode message parsing
- Changed Ignore option `config:info` to only apply to info messages, not
  regular chat messages
- Fixed tab not showing new message if message was highlighted with
  `config:!notify` option
- Fixed message parsing from inadvertently ignoring some (rare) messages
- Fixed raw message parsing
- Fixed replacing of all linebreak characters when sending message
- Fixed wrong channel being cleared when "Clear chat when cleared by a
  moderator" setting is enabled
- Fixed hotkey bug when opening/closing hotkey settings with global hotkeys
  disabled
- Fixed off-by-one error for reconnection attempts
- Fixed sounds on Linux (hopefully)
</pre>
    
    <h2>
        <a name="0.8">Version 0.8</a> (2015-06-09)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    
    <h3>Highlights</h3>
    <ul>
        <li>Improved Emoticon Dialog: Shows all global emotes and a detail
        view for emotes.</li>
        <li>TAB Completion: Now supporting completion of emotes (<kbd>Shift-TAB</kbd>),
            setting names (<kbd>TAB</kbd> when typing after a setting command)
            and custom completion items which can be added in the <a href="help-settings.html#Completion">settings</a>.
            Also added popup showing info during completion and changed behaviour
            a bit accordingly.</li>
        <li>Correctly capitalized names are now enabled by default, since support
        for the new display name tag that Twitch Chat provides has been added.</li>
        <li>Added ability to write the current stream time to a textfile, aiding
            in making <a href="help.html#streamhighlights">Stream Highlights</a>
            (either by entering a command or allowing your mods to run the command).</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
Core Changes:
- Connection: Implemented IRCv3 tags/commands/membership support
- Userlist: IRCv3 now supports optional joins/parts (correct userlist), which is
  enabled by default in Chatty (doesn't mean joins/parts have to be shown)
- Added experimental support for secured connections

Emoticons:
- Changed Emoticon parsing to use spaces as delimiter instead of word boundaries
  (to match changes made to Twitch Chat)
- Scaling: Added settings to scale emotes in chat and the Emotes Dialog
- BTTV: Implemented BTTV Custom Channel Emotes, switched to new BTTV API
- IRCv3: Implemented new Twitch Emotes API, including using IRCv3 tags
- Emote Dialog: Added overview of all global emotes (Twitch and Other)
- Detail View: Added Detail View that can be opened for an emote with different
  scaling and a table of information about the emote
- Context Menu: Added more entries and information
- Added emote image caching, making loading of emotes a bit faster and hopefully
  more reliable if the server can't be reached at the time of loading
- Added feature to add custom emotes (locally), also allowing you to replace
  other emotes
- FFZ: Switched to new API (and showing more info about the emotes)

TAB Completion:
- Changed to work with @ in front (or any other non-word characters around it)
- Added info popup to show completion information (how many items are found,
  which item you are at while cycling through results)
- Added completion for emotes (Shift-TAB)
- Added completion for setting names (TAB when using after setting command)
- Added completion for some commands (TAB after /)
- Added support for custom completion items that you can add in the settings or
  via the /customCompletion command

StreamChat:
- Added fitting context menu to stream chat dialog
- Added setting to START inserting text a the top in Stream Chat
  (but not insert text at the top in general), added streamChatResizable setting
- Added commands /clearStreamChat, /testStreamChat, /setStreamChatSize,
  /getStreamChatSize

Other Enhancements:
- Added bot badge (bot names from BTTV/FFZ APIs and local setting)
- Added ability to record current stream time via commands to assist in creating
  stream highlights
- Added setting to clear chat when channel is cleared by a moderator
- Hosting: Added info in the title which channel is being hosted, added warning
  in chat when a channel is still being hosted when the stream is going live
- Streamlined reconnection messages a bit
- Output message if channel attempting to join doesn't exist on Twitch
- Added correctly capitalized names from IRCv3 display-name tag, removed
  commands to change capitalization of names locally
- Added experimental showing of slowmode/submode status in the titlebar (only
  shows correctly if mode toggled while you are already in the channel, until
  chat sends that info on join as well)
- Added feature to locally set custom names for any user which show up in chat
  and the userlist
- Highlighting: Added more prefix options
- Ignore: Added prefix option to ignore info messages
- Added Miscellaneous-menu to User Context menu and added entry Copy Name
  (meaning copy to clipboard)
- Added Miscellaneous-menu to Channel Context menu and added entry to join
  currently hosted channel
- Added /copy command which copies the given text to the clipboard
- Added /color command which redirects to the Twitch Chat /color command
- Added /livestreamer command to open streams/dialog via command
- Added /appinfo command
- Added /r9k and /r9koff commands
- Added workaround for Twitch API sometimes returning stream information with
  missing channel object (no title available), assuming previous title
- Updated help

Changes:
- Files: Moved cache files to be saved in the /cache folder
- Reduced Twitch API debug log spam a bit
- Increased join delay a bit
- Updated Settings Dialog layout to adjust to the dialog size better
- Changed Twitch API version calls to use v3 by default
- Changed Usericon image files starting with "http" to be interpreted as URL
- Disabled auto request of mods list for the time being, since mod status for
  messages should always work and mod status in the userlist should probably
  work if the userlist works in the first place
- Decreased Live Streams dialog scroll speed a bit

Settings:
- Highlighting: Added highlightIgnored setting whether to try to highlight
  messages that have already been ignored (disabled by default)
- Changed capitalizedNames (first letter only) setting to default to on (only
  affects fresh settings)
- Debugging: Added setting to log raw IRC traffic to file (disabled by default)
- Added mainResizable setting to be able to turn off resizing of the main window
- Added setting to ignore Stream Status Notifications for Stream Offline
- Added some more support for different setting types to setting commands
- Changed setting commands to support numeric lists
- Changed Settings Dialog to only tell you to reconnect if you don't have to
  also restart Chatty (required by a setting change)

Bugfixes:
- Fixed bug where channel would constantly be reopened when it failed to join
  (especially happening on non-existing channels)
- Fixed bug where reonnection timer would sometimes not be cancelled
- Fixed synchronization that could lock up the GUI when performing API requests
- Fixed username case-sensitivity issues for commands
- Fixed error in stream status writer when stream doesn't have a game set
- StreamChat: Fixed bug where stream chat wouldn't scroll down properly
- Addressbook: Fixed remove commands issues with case-sensitivity
- Run correct commercial length in Admin Dialog when using a hotkey
- Fixed close channel hotkey to close active channel rather chan active tab
- Possibly fixed some info messages from Twitch Chat not showing up
- Changed "Mr. Freeman" to "Dr. Freeman"
- Fixed rare error in tables (like Follower Dialog)
- Fixed and enabled workaround for some combining characters causing performance
  issues (replacing more than two combining characters in a row with ****)
</pre>
    
    <h2>
        <a name="0.7.3">Version 0.7.3</a> (2015-01-19)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>You can now customize hotkeys (regular, application-wide and global
            hotkeys) that you can set to perform certain predefined actions and
            any command (Global Hotkeys Windows only).</li>
        <li>Improved character display, allowing potentially more characters to
        be displayed (depending on what fallback fonts are available).</li>
    </ul>
    
    <h3>Important Information</h3>
    <ul>
        <li>If you were using a global commercial hotkey before, you will have
        to redefine it when changing to this version (in the Settings - Hotkeys).</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Added customizable hotkeys feature allowing you to add/remove/change hotkeys
  in the settings (Global Hotkeys Windows only)
- Added Stream Chat dialog (only regular messages, optional message timeout to
  make them disappear after some time, mainly for testing right now)
- Added support for global mods
- Added $chan parameter to Custom Commands
- Log to file: Added setting to customize timestamp (via setting commands)

Changes:
- Changed inputbox font to prevent bug where fallback fonts wouldn't work
  properly in JTextPane
- Changed default for "Restore dialogs" setting to "Restore dialogs from last
  session" (only if you start from fresh settings)
- Backup: Increased setting backup count to 5 backups
- Changed staff usermode symbol to &AMP; (text symbol, not the badge)
- Added scaling to emotes if the image is too big, set maximum size to 100x50
- Improved setting commands (added add/remove commands for String lists, save
  default for lists/maps), improved help for setting commands
- Added "set:" commandline parameter to set any setting that can be set with the
  /set command
- Changed to new BTTV emotes API
- Improved URL parsing a bit
- Updated help

Bugfixes:
- Fixed Simple Title menu setting not being updated correctly
- Set foreground color of Viewer History based on the current foreground color
  of the dialog, so it fits the LAF
- Set Notification foreground color to black, in case a LAF uses another color
  that doesn't go well with the yellow background (Notification colors should be
  customizable eventually)
</pre>
    
    <h2>
        <a name="0.7.2">Version 0.7.2</a> (2014-12-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Timeout users (and more) using keyboard shortcuts. Use the
            <a href="help.html#userselection">User Selection Mode</a>
            (toggle with <kbd>Ctrl-Space</kbd>, then <kbd>W/S</kbd> and <kbd>E</kbd> to open
            User Dialog) and the new keyboard shortcuts in the User Dialog for
            quicker access to Timeout/Ban Buttons and Custom Commands you added.</li>
        <li>Added more <a href="help-settings.html#Highlight">Highlight/Ignore prefixes</a>,
            which for example enables you to create your own <a href="help-short_guides.html#localsubonly">local subscriber-only
        mode</a>.</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- User Dialog Buttons (Timeout/Custom Commands) now support shortcuts, Ban and
  Unban buttons are not hardcoded anymore and have to be added to the setting
  (setting is automatically changed if you switch from a version before 0.7.2)
- Added User/Line Selection feature to select a User in chat via the keyboard
  so e.g. timeouts are possible completely via the keyboard
- Added feature to modify Addressbook entries via a file
- Added color restriction for Usericons
- Highlight/Ignore: Added prefixes ("start:", "status:", "!status:", "!cat:",
  "chanCat:", "!chanCat")
- Channel Info Dialog now allows to be resized a lot smaller, Viewercount info
  now adjusting better to smaller sizes
- Added setting to change Look&amp;Feel (only Default and System for now)
- Added setting to attach dialogs to main window, so they always stay in the
  same relative position when the main window is moved
- Added some keyboard shortcuts
- Added some support for FFZ feature friday, added /ffzGlobal command to show
  global FFZ emote codes

Changes:
- Added menu entry to open login configuration for easier access (no need to
  disconnect from chat)
- Improved login configuration dialog
- When login was determined invalid by automatic check: Changed warning message,
  don't remove automatically anymore but let user do it if necessary
- Added Options submenu to View menu to allow more options with direct access
- Added more options to Title/Game Presets dialog due to S'ome demand
- Logging to file now enabled by default (only if you start from fresh settings)
- MOD/UNMOD messages are now disabled by default (from fresh settings)
- Custom Commands executed from the Channel Context Menu now include the name
  of the channel as first parameter (without leading #)
- Some small improvements of labels/info texts in Settings Dialog
- Increased join delay, increased delay between failed join attempts
- Ping connection more often if inactive to detect disconnect quicker and
  possibly prevent disconnect in some cases
- Improved URL detection (again)
- Improved debug messages a bit
- Improved error catching in some places
- Added more tests
- Updated help

Bugfixes:
- Fixed URLs that don't have a protocol prefix (e.g. http://) being opened
  without a prefix, which resulted in the browser not opening correctly
- Fixed error in FrankerFaceZ emote parsing
- Fixed bug where "Close to tray" wouldn't work without "Minimize to tray" being
  enabled as well
- Fixed layout problem in Settings Dialog when log path was too long
- Use usercolor corrected for readability for colored /me messages
</pre>
    
    
    <h2>
        <a name="0.7.1">Version 0.7.1</a> (2014-10-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>You can now add your favorite Twitch Emotes to the new <code>Favorites</code>
        page of the Emote Dialog. Right-click on the emote you want to add to
        open the context-menu and click on <code>Favorite</code>, then open the
        Emote Dialog (<code>Extra - Emoticons</code> or <code>Ctrl+E</code>) and
        choose the <code>Favorites</code> page to view your favorites.</li>
    </ul>
    <h3>Important Information</h3>
    <ul>
        <li>The default location to write stream information to has been changed
            to the <code>exported</code> subfolder of the settings directory (so
            e.g. <code>C:\Users\name\.chatty\exported\</code>). If you are using
            this feature e.g. by refering to the created textfiles in your
            streaming software, you'll have to adjust the path to the textfile
            there.</li>
    </ul>
    
    <h3>Full Changelog</h3>
    
<pre>
New features:
- Added Emoticon Favorites, that are displayed in the Emote Dialog (you can only
  add Twitch Emotes for now, not FFZ or BTTV)
- Added support for correct capitalization of names in chat (experimental, you
  have to enable it in the settings if you want to try it)
- Show correctly capitalized stream names in Live Streams/Channel Info Dialog
  (independent of the Correctly Capitalized Names setting)
- Added minimize to tray/close to tray options
- Added setting for auto scroll down timeout length
- Added setting to change font size of dialogs (experimental, only Userinfo now)
- Added setting to customize chat log file location
- Added context menu to Follower/Subscriber Dialog to export list to file
- Added support for FrankerFaceZ global event emotes

Changes:
- Changed tray icon to only show when needed
- Set proper tooltip for tray icon
- Added some more timestamp options
- Changed stream status writer output to "exported" subfolder of settings folder
- Changed stream status writer to ignore case of stream name
- Channel Info: Added approx. last stream length as tooltip to "Offline" text
- Changed Twitch badges to use images instead of alpha (shows new colors now)
- Changed base colors for badges to new Twitch colors (affects FFZ Mod Icon and
  Fallback Icons)
- Allow for selection of text in chat by double-clicking (focus to inputbox now
  only on single-click on chat)
- Detect a few more URL formats to be made clickable
- Improved debug logging a bit (memory usage)
- Some small improvements to memory usage
- Added some more characters to Font Selection Dialog, but also an input field
  to enter your own text to test the font
- Catch the error if hotkey library couldn't be found and output warning instead
- Updated help

Bugfixes:
- Fixed info messages sometimes going to the wrong window if popouts are used
- Fixed subscriber sorting in userlist (but overall sorting can still be screwed
  up sometimes)
- Fixed wrong channel being joined when joining channel out of user context menu
  with "Capitalize Names (First Letter)" option being enabled (fixed implicitly
  by changing some stuff around for supporting capitalized names)
- Added workaround for Twitch emotes appearing wrong on Retina displays
- Nothing to do with Chatty in particular (it's the same for every IRC client),
  but the "xy just subscribed" message should now work for everyone again,
  because Twitch fixed it :)
</pre>
    
    <h2>
        <a name="0.7">Version 0.7</a> (2014-09-25)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Added <a href="help.html#emoticons">Emoticon Dialog</a> showing your Subscriber and Turbo emotes as
        well as channel specific emotes.</li>
        <li><a href="help.html#followers">Followers and Subscribers</a> lists
            showing your most recent followers and subscribers (you probably
            need to request new login data with the necessary access for the
            subscriber list to work).</li>
        <li>Improved <a href="help-livestreamer.html">Livestreamer Dialog and Help</a>.</li>
    </ul>
    <p><em>Just a reminder:</em> If you don't care about a correct userlist or joins/parts,
        you may want to switch to Twitch Client Version 3 (<code>Settings - Advanced</code>),
        which has a few advantages.
        <a href="help-settings.html#Advanced-TC">More information..</a></p>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Added Emoticon Dialog, showing emotes you paid for (Subscriber/Turbo) and
  channel-specific emotes (FFZ/BTTV)
- Added Followers/Subscribers lists, added new follower sound (works only if
  Followers Dialog is open)
- Livestreamer: Added setting to use auth (for sub-only streams), added setting
  whether to open the Livestreamer Dialog when opening a stream from the menu
- Added setting to write stream info to a file (e.g. for display on stream)
- Automatically request moderator list once per channel, added /fixMods command
  to temporarily fix mods status without showing the list of all moderators
- Added /host and /unhost commands
- Added shortcut Ctrl-W to close active tab/restore popout to tab
- Admin Dialog: Added option to automatically repeat commercial on the set delay
- Added stream uptime to Channel Info Dialog (how long ago a stream was started)

Changes:
- Changed message parsing to support "&lt;name&gt; is now hosting you" notification
  (only works on Twitch Client Version 3 though, see Settings - Advanced)
- Added setting to specify the timezone of the timestamp separately from the
  system timezone setting
- Added kadgar.net to open live streams from the context menu
- Added optional filter to remove combining characters used in some languages
  that may cause an error in some cases
- Livestreamer: Reuse open tabs if process stopped and opening stream with the
  same stream/quality, re-enable quality selection buttons if process stopped,
  improved labels and help
- Added more timestamp options in the settings and changed to showing as example
- Added gzip support to Twitch API requests
- Added check to confirm status of stream going offline, which may or may not
  prevent wrong offline notifications if the Twitch API returns false data
- Added hint about entering Twitch Commands in invalid command message
- Updated help

Bugfixes:
- Fixed error in message parsing
- Fixed display error with ban messages
- Fixed a possible bug with notifications
- Now showing "&lt;number&gt; /host commands remaining this half hour." message
</pre>
    
    
    <h2>
        <a name="0.6.7">Version 0.6.7</a> (2014-07-20)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Now supporting some of the <a href="http://nightdev.com/betterttv/">BetterTTV</a> emotes.</li>
        <li>Changed Game Select Dialog to using just one single list for both
            the Game Favorites and the search result (to use the available space
            more efficiently).</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Added support for some of the BetterTTV emotes
- Added feature to ignore indiviual emotes, which makes them not turn into an
  image (but their code will still show up)
- Changed game select dialog to one single list for favorites/search as to not
  waste so much space
- Added setting to change the livestreamer command (so you can also e.g. set the
  full path to Livestreamer if necessary)
- Added option to combine ban messages of the same user within 10 seconds, for
  example "&lt;name&gt; has been banned from talking (3)" means banned 3 times
- Added "/ab change" command to add/remove/toggle categories in a single command
- Added /uptime command
- Added /openUrl and /openUrlPrompt commands (for use in custom commands)
- Added ignore setting to not show ignored messages info (count/nick) in chat if
  the ignored messages dialog is currently open

Changes:
- Live Streams window always on top of main window (seems a bit flickery though)
- More Dialogs now closeable with ESC
- Added Ctrl+J shortcut for opening Join Dialog
- Save Channel Favorites sort order between sessions
- Increased number of saved lines per user from 20 to 100
- Reorganized Settings Dialog a bit (Usericons/Emoticons on separate pages)
- Added context menu to Race Id (blue link) in Race Viewer
- Possibly improved debugging of emoticon loading errors a bit
- Updated help

Bugfixes:
- Search dialogs (Ctrl+F) fixed for popouts
- Fixed error on update notification
- Improved API response parsing a little bit
- Fixed context menus in Highlights/Ignored Messages dialogs
</pre>
    
    
    <h2>
        <a name="0.6.6">Version 0.6.6</a> (2014-06-25)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li><a href="help.html#ignore">Ignore</a> chat messages by keyword,
            username, addressbook category and channel, then choose whether to
            completely hide them, show how many were ignored every 30s (if any)
            or show which users where ignored. Ignored messages also get added
            to a separate window so you can check them if you want to.</li>
        <li>Improved Update Notification.</li>
        <li><a href="help-livestreamer.html">Livestreamer</a> context menu
            quality selection customizable.</li>
        <li>Improved <a href="help.html#emoticons">Emoticon</a> Context Menu (right-click on any emoticon image),
            now allowing you to insert the emote code into your chat message by clicking the menu entry
            showing the emote code (and added some more information and options
            for subscriber emotes).</li>
    </ul>
    <h3>Important Information</h3>
    <ul>
        <li>Addressbook categories are now all lowercase. If you have any
        categories that only use case to differentiate between them, this might
        be a problem for you. Otherwise it should make things a bit clearer and
        easier.</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Ignore messages (similiar to the Highlight system, match messages by keywords,
  usernames, addressbook categories and channels)
- Improved Emote Context Menu (now with channel name on subemotes and clicking
  on emote code inserts it in the input box)
- Improved subscriber detection on Twitch Client 1
- Improved Update Notification to now also show in the Main Menubar (clicking
  on it opens a window showing the changelog)
- Livestreamer Context Menu quality selection now customizable
- Added some commands (including /ffz to show FFZ emotes of the current channel,
  some commands to open dialogs and stuff intended for use in Custom Commands)

Changes:
- Addressbook categories are now all made lowercase when added/loaded from file
- Regular commands can now be also used in Context Menus/User Dialog settings
- Improved error handling a bit (hopefully)
- Removed Ignore Joins/Parts setting in favor of Twitch Client 3
- Changed Twitch Client 1/3 setting to include small explanation
- Added sort by viewercount in Live Streams Dialog
- Added chan: and !chan: prefixes (Highlights and Ignore)
- Updated help
- Show how many Highlighted/Ignored messages are in the dialogs in the View-menu
- Improved text settings editor (auto adjust size when typing, added help)
- Changed Context Menu/User Dialog settings to allow more flexible formatting
  (linebreaks allowed, / for command optional, | for seperator doesn't have to
  be directly in front of a command, but still applies to the following one)
- Moved to new FFZ server and updated parsing (recently added emotes should now
  show up)

Bugfixes:
- Fixed horizontal scrolling sometimes happening in chat window
- Fixed URL Context Menu stream detection to be case-insensitive
- Fixed display of "&lt;" in Notifications
- Hopefully fixed possible display error
</pre>
    
    <h2>
        <a name="0.6.5">Version 0.6.5</a> (2014-06-14)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Reworked usericon (badges) system to be more flexible and allow for
            <a href="help-settings.html#Emotes/Icons">Custom Usericons</a>.</li>
        <li>Added <a href="help-settings.html#Commands">Custom Commands</a>,
            allowing you to define aliases for anything you could also enter into
            the inputbox manually (and also add those custom commands to the User/Channel
            Context Menus and the User Dialog).</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Reworked usericon (badges) system, which also allows custom usericons,
  either replacing the default ones or adding some of your own
- Added Custom Commands, which allow you to define aliases for anything you
  can enter into the inputbox (like chat messages, commands)
- Added settings to add Custom Commands to the User/Channel Context Menus and
  changed Timeout buttons setting to also add Custom Commands to User Dialog
- Added option to always show the chat scrollbar, which can be useful for
  streamers who always want to capture the same subregion of the window
- Added /clearchat command which clears all text from the current chat window
- Added settings for what to do when Chatty is started (show connect dialog
  or connect immediately and autjoin channels etc.)

Changes:
- Only show the "&lt;user&gt; has been banned from talking" message for users that
  are currently known in the channel (that have said something, have joined,
  been modded, etc.)
- Removed hardcoded /slap command, but added it as default to Custom Commands
- Removed "Set color" entry from User Context Menu, but added /setcolor
  command (so it can be readded using Custom Commands if necessary)
- Updated help
- Changed list settings editor (used for Highlights, Logging, Commands)
- Reorganized Settings Dialog a bit
- Updated /testNotification command to also allow for a channel parameter
- Changed Highlight Notification to switch to the channel the highlight
  originated in (similiar to Stream Status Notifications)
- Regular commands now case-insensitive
- Handle image URLs which may brake due to possible changes in the Twitch API
- Added /echo command to just output text as info message (e.g. for testing)

Bugfixes:
- Fixed speedrun.tv Race Link in SRL Race List context menu
- Made "Races with.." search case-insensitive
- Fixed possible flickering of chat window when being scrolled up
- Remove linebreaks from messages send to the server
- Fixed some possible display bugs in Settings Dialog
- Right-clicking on emotes now works on the whole emote
</pre>
    
    <h2>
        <a name="0.6.4">Version 0.6.4</a> (2014-05-26)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Highlights</h3>
    <ul>
        <li>Added <a href="help-srl.html">SRL Race viewer</a>, which you can open in the <code>SRL</code>-menu.</li>
        <li>Added <a href="help-livestreamer.html">Livestreamer</a> support, with a dialog (<code>Extra</code>-menu)
        and optional context menu entry.</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Added SpeedrunsLive (SRL) race viewer
- Added automatic settings file backup (copies settings to the /backup folder
  when you start Chatty, at most once per day)
- Added Livestreamer support (start Livestreamer out of dialog/context menus)
- Added feature for unique addressbook categories under some circumstances
- Added "Simple Title" setting to have only "Chatty" as title (Extra menu)

Changes:
- Improved debug logging (added append to current file, max file size, rotate
  between several files when max file size is reached)
- Improved scrolling when window is made smaller
- Added small delay between joins, automatically rejoin if join failed, added
  "Joining #channel.." message (which indicates a JOIN was send to the server)
- Some smaller improvements
- Added commands to open the current settings/working directory
- Updated help

Bugfixes:
- Possibly maybe fixed bug with default userlist width, but it can still be a
  bit finicky
- Fixed bug in Channel Favorites dialog when table is empty
- Fixed /myemotes command
- Fixed bug when joining channel out of popout
</pre>
    
    <h2>
        <a name="0.6.3">Version 0.6.3</a> (2014-05-15)
        <a href="#top" class="top">[back to top]</a>
    </h2>
    <h3>Important Information</h3>
    <ul>
        <li>Right-click on a tab to not only <code>Close</code> but also
            <code>Popout</code> the channel.</li>
        <li>Using the commercial hotkey now will simulate a click on the
            <code>30s</code> button <em>if</em> the Admin Dialog is open on the
        Commercials tab.</li>
    </ul>
    
    <h3>Full Changelog</h3>
<pre>
New features:
- Popout channels into their own window to be able to view them side-by-side
- Added context menu and improved sorting to Channel Favorites dialog
- Added check whether window restore position is actually on a screen (if not
  then open on default position)
- Added Highlight prefix to cutomize color for individual highlight items
  (also added ordering buttons that can be necessary for this feature)
- Added navigation buttons with page history to Help window
- Added command to manually refresh emoticons (and badges if you rejoin)
- Added command to show a list of your subemote codes (better emote
  integration possibly maybe soon)
- Added option to show action messages (/me) colored like in webchat

Changes:
- Commercials hotkey now simulates a click on the 30s button if the
  Admin Dialog is open on the Commercials tab (so you can also use a delay)
- Added more information to the emote context menu (unfortunately you have
  to right-click on the left side of the emoticon to open it)
- Changed default access options to all selected (you can still deselect them if
  you don't need them and you think it's safer not having them on the token)
- Decreased scrolling step a bit
- Improved scroll detection for scrolled up timeout
- Improved main window title change responsiveness
- Some small improvements
- Reorganized and updated help

Bugfixes:
- Fixed some possible errors by adding some checks
- Fixed bug when adding a usercolor (not correctly enabled Done button)
- Fixed bug canceling the list item edit dialog (highlights/logging)
</pre>
    
<h2>
    <a name="0.6.2">Version 0.6.2 (2014-04-20)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
    <h3>Important Information</h3>
    <ul>
        <li>The port setting has changed. If you have changed the port setting
        to another value before, it will be reverted to the new default with
        this update.</li>
        <li>With the introduction of group chat, Twitch apparently removed the
        "xy just subscribed" messages from the chat version Chatty uses. There
        was also a new version introduced that still has those messages and is
        generally better (association of bans/info messages/subscribers to
        channels), but it lacks joins/parts, which means no joins/parts can be
        shown and the userlist will only contain those people who have said
        something.<br />
        <br />
        If you don't care about showing joins/parts and you don't care about
        a correct/complete userlist, then it may be beneficial for you to
        enable the <code>Chat Client Version 3</code> option in the Settings
        Dialog under <code>Advanced</code>. <a href="help-settings.html#Advanced-Other">More information..</a></li>
    </ul>
    <h3>Full Changelog</h3>
<pre>
New features:
- Admin Dialog: Select previously used or favorited stream status (title/game)
  from the presets dialog for your title changing convenience
- Optional new chat version that has no joins/parts but has better channel
  association for bans/timeouts/subscribers and "xy just subscribed" message
- Added /slap command due to S'ome demand
- Improved connecting to chat (automatically trying different servers/ports)
- Added more shortcuts and stuff
- Added option to rejoin currently open channels when connecting

Changes:
- Moved Ignore joins/parts option to settings dialog
- Some small improvements
- Updated help

Bugfixes:
- Hopefully fixed synchronization error
- Fixed error when editing game favorites
- Fixed error when no stream title is set
</pre>
<h2>
    <a name="0.6.1">Version 0.6.1 (2014-03-24)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added Addressbook to associate name with categories, that can be referenced
  from usercolor settings and highlight settings
- Added usercolor settings to locally assign custom usercolors
- Option to restore dialog positions/reopen dialogs on start

Changes:
- Improved setting for timeout buttons/added to GUI, improved timeout messages
- Highlight: Default username now matching on word bounds, added word bounds
  matching prefixes, added highlight next messages
- Reorganized settings dialog to accomondate new settings/features
- Updated help
- Parse /mods response to make users mods
- Improved Named Colors panel in color chooser
- Added Ctrl-Shift-Tab to switch to previous channel
- Added server/port settings
- Added setting to enable/disable stream status messages in chat

Bugfixes:
- Fixed FrankerFaceZ mod icon parsing to reflect recent changes
- Fixed parsing error
- Fixed userstats max length
- Added scrolling to "Removed Streams.." list
</pre>
    
    
<h2>
    <a name="0.6">Version 0.6 (2014-02-13)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Important Information</h3>
<ul>
    <li>The sound volume values have been changed, you should readjust the
        volumes when you use this feature.</li>
    <li>Chatlog is disabled by default, enable it in the settings if you
        want to use it.</li>
</ul>
<h3>Full Changelog</h3>
<pre>
New features:
- New more flexible notifications that replace the system tray notifications
  (you can still switch back to them though)
- Added chat logging to record messages and stream/chat infos to file
- Added Spam Protection
- Admin Dialog: Relative times, use own channel when no channel is joined,
  last commercial run time, improved several channels support, dialog
  not modal anymore, configurable commercial run delay, added help
- Added message sound, load sound file names from sounds folder, improved
  sound settings, changed volume values (you may need to adjust your volumes)
- Check if connection was lost a bit faster depending on previous activity
- Added new error dialog
- Show important release information on first startup of new version

Changes:
- Changed shutdown process
- Improved settings dialog (help, icons, components, restart required
  warning)
- Remove additional whitespace from incoming messages
- Replace some special html character codes in incoming messages
- Default userlist width setting, userlist width 0 now possible
- Always output stream status on join (not only if it's new)
- Improved help
- Added setting to enable (and thus disable) open url prompts
- Added Copy URL option to url prompt
- Added setting to highlight own messages (always enabled before)
- Added setting to change the tabs order (join order/alphabetical)
- Added context menu item to clear the highlights dialog
- Fixed bug in ViewerHistory when item was still hovered when channel
  was changed
- Added help window icon
- Count number of mods on /mods-command response
- Prevent auto-scrolling when search is active
- Added speedrun.tv option for stream urls
</pre>


<h2>
    <a name="0.5.1">Version 0.5.1 (2013-12-17)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>Changes:
- FrankerFaceZ: Show custom mod icons (available in some channels)
- FrankerFaceZ settings, Emoticons/Icon settings separate
- Prevent dialogs that can open automatically (error messages) from
  stealing focus
- Added chat buffer size setting
- Added setting to enable/disable mod/unmod messages
- Added some shortcuts
- Added command to show working directory
- Added color preset
- Improved help
- Improved viewer history (fixed times per channel)
- Improved debug output
- Added command/guide in case getting login data doesn't work

Bugfixes:
- Fixed error in Viewer history
</pre>


<h2>
    <a name="0.5">Version 0.5</a> (2013-12-05)
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Import Information</h3>
<ul>
    <li>With Version 0.5, Chatty can notify you about streams you follow and
        show a list of them. You have to request
        new login data containing <code>&lt;Read user info&gt;</code> access to
        be able to use that. Go to 
        <code>&lt;Main - Connect - Configure login..&gt;</code>, remove the
        login and request it again.</li>
    <li>You can enable/disable this feature under
        <code>&lt;Main - Settings - Notifications&gt;</code> if you have the
        necessary access.</li>
</ul>
<h3>Full Changelog</h3>
<pre>
New features:
- Get notified when streams you follow go online (requires
  &lt;Read user info&gt; access, which wasn't even in Chatty before, so you'll
  have to request new login data)
- View a list of live streams (you followed or whose channel you are in)
- FrankerFaceZ emoticons
- Added search, allowing you to find text in the current chat window
- Deleted messages (from timeouts/bans) now get shortened to a maximum length,
  or you can use the previous behaviour or let the whole message be replaced
  with &lt;message deleted&gt;
- Change the displayed time range in Viewer History
- Automatically check if the login is valid, if it is suspected not to be
- Clickable links in Channel Info Dialog (also turns #srl-abcd into a race link)
- Cycle between tabs with Ctrl+TAB

Changes:
- Updated Help
- Changed Settings Dialog Layout
- Detect subscribers even when in more than one channel (may not work correctly
  always, but it's a better guess than before)

Bugfixes:
- Changed color of inputbox cursor to foreground color
- Possibly made emoticon image loading a bit more reliable, but it's hard to
  tell what happens when the loading fails
- Handle long URLs in the URL open dialog better
</pre>


<h2>
    <a name="0.4">Version 0.4 (2013-11-16)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added version checker to inform you about new versions of Chatty
- Added window icon
- Added colors to viewer history to indicate stream status changes, hovering
  displays stream title/game at that time (in addition to viewercount/time)
- Stream information is now requested for all channels you have currently joined
- Added tray notifications for highlighted messages and stream status changes
- Added sound notifications for highlighted messages and stream status changes
- Added some commandline parameters, settings and context menu entries

Changes:
- Nicks in JOIN/PART/MOD/UNMOD lines now clickable
- Settings now saved in separate files for general settings, login data and
  history/favorites
- Fixed tab colors, added indicator for new stream status
- Added delay for global hotkey so it doesn't repeat as much if kept pressed
- Updated and improved help
- Added Mod/Unmod buttons to user dialog (only in your own channel)

Bugfixes:
- Fixed bug where a status change could reopen a tab that couldn't be closed
- Improved error handling for API responses
- Fixed bug where focus sometimes wouldn't be on inputbox when changing tabs or
  clicking in channel
</pre>


<h2>
    <a name="0.3">Version 0.3 (2013-09-19)</a>
    <a href="#top" class="top">[back to top]</a>
</h2>
<h3>Full Changelog</h3>
<pre>
New features:
- Added Admin Dialog that let's you change the title/game of your stream
  and run commercials (optional global hotkey for running commercials)
- Added Channel Favorites/History that automatically saves channels you joined
  and also allows you to add favorites (history can be deactivated in the
  settings)
- Added Highlight system that makes a message appear in another color if defined
  keywords are found in it and/or it was send by a defined user (defaults to
  always highlight your own name)
- Added join dialog
- Messages from user "twitchnotify" as info messages (when someone subscribed)
- Added Warning when joining more than one channel
- Added context menus for nicks/links/channel/tabs
- Restore window position from last session
- Better debugging and error handling
- Automatically scroll down after 30s of inactivity when being scrolled up

Changes:
- User Info Dialog: Auto-update message history, show bans, show channel context
- Lowered stream info (title, game, viewercount) update delay to 120s
- Improved default user colors
- Emoticons that contain only word characters match at word boundaries (to match
  the new behaviour in Twitch Webchat)

New settings:
- Option for capitalized names
- Option to show ban message (.. has been banned from talking), defaults to not
  showing it
- Color GUI settings (with default and dark preset)
- And of course quite a few for the new features/bugfixes

Bugfixes:
- Fixed bug where channels would re-open without being
  able to close them
- Fixed bug where the userlist wasn't loaded correctly on join
  when the channel was joined before in the same session
- Disabled Direct3D Hardware Acceleration by default to possibly
  fix Chatty appearing completely black under certain circumstances
</pre>

<p>First published version was 0.2 so changelog starts from version 0.3.</p>
</body>
</html>

